赞
踩
从官方文档可见,一个vscode典型的task.json文件包含多种属性,格式复杂,任务可以分为全局任务和局部可选任务,在tasks.json一级配置的 任务为全局任务,在二级tasks中配置的任务老猿称为局部可选任务,这个名称是老猿根据全局任务的说法自定义的。
全局任务比局部可选任务多了version、options和tasks这三个子配置项,options的类型为CommandOptions,表示传递给外部执行程序或shell的选项。
下面是CommandOptions的官方文档定义:
/**
* Options to be passed to the external program or shell
*/
export interface CommandOptions {
/**
* The current working directory of the executed program or shell.
* If omitted the current workspace's root is used.
*/
cwd?: string;
/**
* The environment of the executed program or shell. If omitted
* the parent process' environment is used.
*/
env?: { [key: string]: string };
/**
* Configuration of the shell when task type is `shell`
*/
shell: {
/**
* The shell to use.
*/
executable: string;
/**
* The arguments to be passed to the shell executable to run in command mode
* (e.g ['-c'] for bash or ['/S', '/C'] for cmd.exe).
*/
args?: string[];
};
}
从上述官方文档定义可以看出,CommandOptions是用于传递给shell或后台进程的运行选项,包括以下可选项:
bash [options] [command_string | file]
,则args是options相关选项值,而command_string则是前面的command命令。为了说明清楚,下面举个配置正确实际不合理的一个全局任务的部分配置来看看:
"command":"g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"-Wall",
"-Wextra",
"-O0",
"${workspaceFolder}/hello.cpp",
"-o",
"${fileDirname}/$hello1",
],
"options": {
"shell": {
"executable":"bash",
"args":["-c","ls -lrt *.txt"],
}
}
这个配置在运行任务时选择执行g++任务时,实际执行的指令为:
bash '-c' 'ls -lrt *.txt' 'g++ -fdiagnostics-color=always -g -Wall -Wextra -O0 /home/administrator/E_DRIVER/vcwork/test/hello.cpp -o /home/administrator/E_DRIVER/vcwork/test/.vscode/$hello1'
具体信息请见如下截图:
本文介绍了Visual Studio Code中tasks.json全局任务命令选项CommandOptions的详细内容,并通过配置案例来说明CommandOptions各个子配置项的作用。
vscode中关于tasks.json的官方文档地址:https://code.visualstudio.com/docs/editor/tasks-appendix
如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!
更多关于vscode配置介绍的内容请参考专栏《国产信创之光》的其他文章。
前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《https://blog.csdn.net/laoyuanpython/category_9979286.html OpenCV-Python图形图像处理 》的学习使用。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《https://blog.csdn.net/laoyuanpython/category_9831699.html 专栏:Python基础教程目录)从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。