当前位置: 首页 > news >正文

vscode任务配置之tasks.json

目录

用途说明

用途1:配置编译任务

1.生成task.json文件

2.编辑task.json文件

3.运行任务

用途2:给一个脚本文件配置任务

1.生成task.json文件

2.编辑task.json文件

3.运行任务


用途说明

在VS Code中配置任务主要涉及到task.json文件的编辑,这个文件允许你定义任务,比如编译、构建、测试、运行相关脚本等。

用途1:配置编译任务

1.生成task.json文件

如果已经有.vscode文件夹以及里面有task.json文件,则跳过这步。

  • 按 Ctrl+Shift+P 弹出命令面板
  • 输入Tasks
  • 选择 Tasks: Configure Task... 来针对特定任务进行配置
  • 然后选择C/C++:gcc.exe build active file,然后当前目录下就会生成.vscode文件夹,以及文件夹下生成一个task.json文件

也可以点击界面上方的 终端,再点击Configure Task,然后选择C/C++:gcc.exe build active file。

当然你也可以手动生成task.json文件,只不过用刚才这两种方式生成的task.json文件内容不是空的,有一些基本的配置。

2.编辑task.json文件

在task.json这个文件中,你可以定义任务的详细信息,包括任务的类型(如shell)、命令、参数、工作目录等。

假设你正在使用C++,并希望配置一个编译任务。task.json文件可以像下面这样配置。在下面的tasks选项中,可以配置多个任务,以下是配置一个任务的例子,如果已经存在其它任务,在tasks中再添加一个任务即可。

{  "version": "2.0.0",  "tasks": [  {  "label": "Build C++ program", // 任务标签(任务名字)"type": "shell", // 任务类型(自己随便取个名字)  "command": "D:\\software\\mingw64\\bin\\gcc.exe", // 编译命令//(执行哪个可执行文件)  "args": [ // 设置编译选项"-g", // 启用调试信息  "${file}", // 当前打开的文件  "-o", // 输出文件  "${fileDirname}/${fileBasenameNoExtension}" // 输出文件名//(无扩展名)  ],  "group": {  "kind": "build",  "isDefault": true // 设置为默认构建任务  },  "problemMatcher": ["$gcc"], // 错误和警告匹配器  "presentation": {  "echo": true, // 显示命令  "reveal": "always", // 显示输出面板  "focus": false, // 不自动聚焦输出面板  "panel": "shared", // 共享输出面板  "showReuseMessage": true, // 显示重用消息  "clear": false // 不清除之前的输出  }  }  ]  
}

上面这个例子中,args编译选项中,"${file}"是对当前文件进行编译,但有时需要多个源文件进行编译,可以使用通配符,比如把"${file}"修改为"${workspaceFolder}\\*.cpp",表示构件当前工作区的所有c++文件。

3.运行任务

  • 通过命令面板(Ctrl+Shift+P),输入并选择Tasks: Run Build Task。或者直接点击上方的终端,然后点击运行任务。
  • 选择你刚才配置的那个任务名字,比如Build C++ program,VS Code将执行编译命令,并在“终端”或“输出”面板中显示结果。

然后该任务就生成了一个可执行文件。然后就再运行这个可执行文件就可以了。

用途2:给一个脚本文件配置任务

1.生成task.json文件

参考用途1那里的步骤。

2.编辑task.json文件

在task.json这个文件中,你可以定义任务的详细信息,包括任务的类型(如shell)、命令、参数、工作目录等。

tasks.json文件中,你将定义一个或多个任务。每个任务都有一个label(标签),用于在VS Code中引用它,以及command(命令)和可能的args(参数)来执行脚本。

假设你需要添加一个Python脚本的任务,你可以像下面这样,在任务的最后面添加。

{  "version": "2.0.0",  "tasks": [  {  "label": "Build C++ program", // 任务标签(任务名字)"type": "shell", // 任务类型(自己随便取个名字)  "command": "D:\\software\\mingw64\\bin\\gcc.exe", // 编译命令//(执行哪个可执行文件)  "args": [ // 设置编译选项"-g", // 启用调试信息  "${file}", // 当前打开的文件  "-o", // 输出文件  "${fileDirname}/${fileBasenameNoExtension}" // 输出文件名//(无扩展名)  ],  "group": {  "kind": "build",  "isDefault": true // 设置为默认构建任务  },  "problemMatcher": ["$gcc"], // 错误和警告匹配器  "presentation": {  "echo": true, // 显示命令  "reveal": "always", // 显示输出面板  "focus": false, // 不自动聚焦输出面板  "panel": "shared", // 共享输出面板  "showReuseMessage": true, // 显示重用消息  "clear": false // 不清除之前的输出  }  },{  "label": "Run Python Script", // 任务的标签  "type": "shell", // 任务类型,这里使用shell类型  "command": "python", // 要执行的命令,这里假设你已经在PATH中安装了Python  "args": [  "${file}" // 参数,这里使用VS Code的变量表示当前打开的文件  ],  "group": {  "kind": "build",  "isDefault": true // 设置为默认构建任务  },  "problemMatcher": [], // 问题匹配器,这里为空// 因为Python执行可能不会直接产生VS Code能识别的错误和警告格式  "presentation": {  "echo": true, // 显示执行的命令  "reveal": "always", // 总是显示输出  "focus": false, // 不自动聚焦输出面板  "panel": "shared", // 使用共享面板  "showReuseMessage": true, // 显示重用消息  "clear": false // 不清除之前的输出  }  }  ]  
}

注意:如果你的系统上安装了多个Python版本,或者你想要指定使用特定的Python解释器,你可能需要将"command": "python"更改为指向特定Python解释器的完整路径"command": "D:\software\python3.6.6.exe"

3.运行任务

  • 通过命令面板(Ctrl+Shift+P),输入并选择Tasks: Run Build Task。或者直接点击上方的终端,然后点击运行任务。
  • 选择你刚才配置的那个任务名字,比如Run Python Script,VS Code将执行相应的任务,并在“终端”或“输出”面板中显示结果。


end


http://www.mrgr.cn/news/20015.html

相关文章:

  • Python | Leetcode Python题解之第385题迷你语法分析器
  • 鸿蒙OS试题
  • ”wait”和“notify”为什么要在Synchronized代码块里面?
  • 用Python实现时间序列模型实战——Day 11: 指数平滑模型
  • matlab 计算3D点到三角面的距离
  • 【基础算法总结】BFS_拓扑排序问题
  • 模电-三极管2
  • 推荐一款开源、高效、灵活的Redis桌面管理工具:Tiny RDM!支持调试与分析功能!
  • 华为OD机试真题 - 停车场车辆统计 - 贪心算法(Java/Python/JS/C/C++ 2024 D卷 200分)
  • 【Rust光年纪】构建高效气象模型计算系统:Rust语言库推荐与比较
  • 浅聊kubernetes 调度
  • 使用Python实现智能金融市场预测
  • 读软件设计的要素01概念
  • ASTER L2 表面反射率 SWIR 和 ASTER L2 表面反射率 VNIR V003
  • 向量数据库之Milvus
  • 独孤思维:副业不要被用户牵着鼻子走
  • RPC框架-Dubbo
  • 电脑知识:如何恢复 Word、媒体和存档文件?
  • Python 中的 None 是什么,探秘 None 的多种用途
  • ssh之登录服务器自动进入目录(四十七)