当前位置: 首页 > 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

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 一位10块!餐厅的白开水,也开始收钱了……
  • 〖open-mmlab: MMDetection〗解析文件:mmdet/models/roi_heads/bbox_heads/bbox_head.py
  • 【安全系列--处理挖矿】
  • 解析主子格式的 csv
  • 基于Java+ssm+jsp开发的相亲交友网站管理系统
  • Oracle rman 没有0级时1级备份和0级大小一样,可以用来做恢复 resetlogs后也可以
  • 源代码如何防泄漏?用对软件真的很重要!
  • BRAS介绍
  • 中间件的学习理解总结
  • Go语言中的队列与栈:基础与实践
  • C语言深入理解指针四(17)
  • 国外也开始流行“卷”了吗
  • 抖音ip属地怎么改变到别的城市
  • 使用LSTM(长短期记忆网络)模型预测股票价格的实例分析
  • JsonCpp源码分析——Writer
  • [nginx文档翻译系列] 控制nginx
  • [译]Python中的类属性与实例属性的区别
  • 【css3】浏览器内核及其兼容性
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Babel配置的不完全指南
  • CentOS7简单部署NFS
  • iOS 系统授权开发
  • JDK 6和JDK 7中的substring()方法
  • js中forEach回调同异步问题
  • KMP算法及优化
  • MQ框架的比较
  • PHP 7 修改了什么呢 -- 2
  • V4L2视频输入框架概述
  • vue脚手架vue-cli
  • 动态魔术使用DBMS_SQL
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 关于extract.autodesk.io的一些说明
  • 坑!为什么View.startAnimation不起作用?
  • 批量截取pdf文件
  • 如何使用 JavaScript 解析 URL
  • 实现简单的正则表达式引擎
  • 写代码的正确姿势
  •  一套莫尔斯电报听写、翻译系统
  • 译自由幺半群
  • linux 淘宝开源监控工具tsar
  • puppet连载22:define用法
  • 我们雇佣了一只大猴子...
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (175)FPGA门控时钟技术
  • (Note)C++中的继承方式
  • (Oracle)SQL优化技巧(一):分页查询
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (八十八)VFL语言初步 - 实现布局
  • (接口自动化)Python3操作MySQL数据库
  • (七)理解angular中的module和injector,即依赖注入
  • (转)http-server应用
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统