VSCode中的tasks.json配置为*.c后发现报错 fatal error: *.c: Invalid argument compilation terminated.

原因貌似是无法识别*.c配置

如上,加了"*.c"后,在vscode的终端调试台出现了fatal error: *.c: Invalid argument compilation terminated.的错误,无论怎么改都报错!!!

众所周知,*.c就是当前目录下的所有.c文件,那么一句*.c就是编译所有.c文件。那么也可以一个文件一个文件的加!

如图,在当前目录下有一个main.c,并且当前目录还有一个子目录Mobs,这个子目录还有两个.c文件,所以我们可以通过上述方法一个一个的加入文件进行编译。

按照多级树状方法一个一个地添加,别忘了\\两个转义字符。经过添加后再次编译发现通过!

### 回答1: tasks.json是Visual Studio Code中用于配置任务的文件。它可以用于自动化构建、测试、运行等任务。在tasks.json中,可以定义多个任务,每个任务都有一个名称、命令、参数等属性。可以通过快捷键或命令面板来执行这些任务。在配置tasks.json时,需要了解一些基本的语法和属性,例如taskName、command、args、type等。同时,还可以使用变量和表达式来动态生成命令和参数。配置tasks.json后,可以大大提高开发效率,减少手动操作的时间和错误。 ### 回答2: 在 VS Code 中,tasks.json 配置文件用于配置任务(tasks),可以让用户方便地在 VS Code 环境中执行一些命令行操作,比如编译、调试、构建、打包等等。它是 VS Code 中的一项强大功能,能够让开发者更加高效地进行软件开发。 tasks.json 配置文件中主要包含以下几个字段: 1. version:用来指定任务配置文件的版本,一般为 "2.0.0"。 2. tasks:用来指定具体的任务列表。每个任务可以有以下几个字段: - label:任务的名称,用于在 VS Code 的任务列表中显示,必填字段。 - command:要执行的命令,可以是一个字符串或一个数组,必填字段。 - type:指定任务的类型,有 shell、process 和 custom 三种,分别表示 shell 命令、后台进程和自定义命令,如果不指定,默认为 shell。 - problemMatcher:指定任务的问题匹配器,在任务执行过程中可以根据问题匹配器的规则来处理输出,从而产生问题列表或者直接跳转到错误位置。 - options:一些额外的配置项,可以用来设置任务的环境变量、参数等等,如果不指定,则使用系统默认值。 举个例子,下面是一个简单的 tasks.json 配置: ``` { "version": "2.0.0", "tasks": [ { "label": "编译", "type": "shell", "command": "gcc -o hello-world hello-world.c", "problemMatcher": [] } ] } ``` 这个配置定义了一个名为“编译”的任务,它的命令是 "gcc -o hello-world hello-world.c",即编译一个名为 hello-world.c 的 C 语言程序,生成可执行文件 hello-world。执行该任务时,VS Code 会自动在终端中执行相应的命令,并输出结果。 除了上述基本的任务定义方式,tasks.json 还支持一些高级特性,比如任务分组、依赖关系、前置任务、后置任务等等。这些特性可以让用户更加灵活地配置任务,满足不同的需求。 总之,tasks.json 配置文件是 VS Code 提供的一个非常强大的功能,可以帮助开发者更加高效地进行软件开发。熟练掌握它的使用,能够大大提升开发效率和代码质量。 ### 回答3: Tasks.json是VS Code中一个很重要的配置文件,可以帮助我们自动化执行各种开发任务,例如编译代码、运行测试、部署应用程序等等。在使用tasks.json时,有几个主要部分需要注意: 1. 任务名称和操作系统 在tasks.json中,我们需要为每个任务指定一个名称,方便我们在VS Code中直接执行任务。此外,由于不同的操作系统可能会有不同的命令行语法,所以我们还需要为每个任务指定所运行的操作系统,以便正确执行命令。 例如,如果我们需要在Windows中使用Python解释器运行代码,那么我们需要在tasks.json中指定以下内容: ``` { "version": "2.0.0", "tasks": [ { "label": "run python", "type": "shell", "command": "python", "args": ["${file}"], "windows": { "command": "py" } } ] } ``` 在这个示例中,我们为任务指定了一个名称“run python”,使用了shell的类型执行任务,指定了所要执行的Python解释器,以及指定了如何调用解释器来运行代码。注意,由于Windows下可能存在多个Python版本,因此我们还使用了“command”字段来指定使用哪个版本的解释器。 2. 任务参数和环境变量 有些任务需要传递参数和环境变量才能正确执行。在tasks.json中,我们可以使用“args”字段来指定任务所需要的参数,使用“options.env”字段来设置环境变量。例如: ``` { "version": "2.0.0", "tasks": [ { "label": "build c++", "type": "shell", "command": "g++", "args": ["-o", "hello_cpp.exe", "hello_cpp.cpp"], "options": { "env": { "PATH": "${env.PATH};C:\\mingw\\bin" } }, "group": { "kind": "build", "isDefault": true } } ] } ``` 在这个示例中,我们为一个C++编译任务指定了名称“build c++”,使用了shell类型执行任务,指定了使用“g++”编译器进行编译,使用了“args”字段指定编译参数,以及使用了“options.env”字段设置编译器所在的路径。注意,由于C++编译器可能需要其他依赖库和环境变量,所以我们可以根据需要进一步修改任务参数和环境变量。 3. 任务依赖和后置操作 有时候,我们需要在执行某个任务前先执行其他的任务,或者在任务执行完成后进行一些后置操作。在tasks.json中,我们可以使用“dependsOn”字段指定任务依赖关系,使用“tasks.x.options.postTask”字段指定后置操作。例如: ``` { "version": "2.0.0", "tasks": [ { "label": "build c++", "type": "shell", "command": "g++", "args": ["-o", "hello_cpp.exe", "hello_cpp.cpp"] }, { "label": "run c++", "type": "shell", "command": ".\\hello_cpp.exe", "dependsOn": ["build c++"], "options": { "cwd": "${workspaceFolder}/cpp" } }, { "label": "clean", "type": "shell", "command": "del", "args": [".\\*.exe"], "dependsOn": ["run c++"], "options": { "cwd": "${workspaceFolder}/cpp" }, "problemMatcher": [] } ] } ``` 在这个示例中,我们为三个任务指定了名称,并使用了“shell”类型执行任务。第一任务是C++编译任务,第二个任务是运行编译后的可执行文件任务,在“dependsOn”字段指定了任务依赖关系。最后一个任务是清理任务,在“dependsOn”字段指定了依赖关系,并在“problemMatcher”字段中去掉了VS Code给出的错误匹配器,以便任务顺利执行。这样,当我们执行“clean”任务时,首先会执行“run c++”任务完成运行,然后才会执行清理任务。 总之,tasks.json是VS Code中一个非常方便、强大的功能,可以帮助我们自动化完成各种简单或复杂的任务,提高我们的开发效率。使用时需要注意细节,根据需要进行适当的修改和调整。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值