不同于VS的摇篮式可视化项目管理,VSCode通过两个特殊的配置文件launch.json和tasks.json来管理启动和调试功能,下面让我们具体来看一下。

在我们打开一个项目文件夹后,如果没有经过手动配置,直接“运行→启动调试”,可以启动自动配置流程,VSCode首先会让我们选择运行环境:

然后列出文件夹下的所有项目供选择,选择一个启动项目:

VSCode会自动生成一个名为.vscode的配置文件夹,里面包含我们的主角:launch.json和tasks.json文件

launch.json
允许我们配置和保存调试设置的详细信息,在launch.json里每配置好一个启动项,在运行和调试下拉列表里就可以选择启动:
tasks.json
允许我们定义一些自动执行的诸如构建,打包,测试或部署软件系统之类的任务。

"启动"与"附加"
在VS Code中,有两种核心调试模式,即"启动"和"附加",它们处理两种不同的工作流和开发人员。
如果你是来自浏览器背景的前端开发人员,则可能不习惯"从工具启动",因为你的浏览器实例已打开。当你打开 DevTools 时,只需将 DevTools附加到打开的浏览器选项卡即可。另一方面,如果你是来自服务器或桌面的开发背景,则让编辑器为您启动进程是很正常的,编辑器会自动将其调试器附加到新启动的进程。

下面让我们以启动一个asp.net core的webapi项目为例,先来看一下VSCode自动帮我们生成的配置,每一项的说明我都添加在注释里。

launch.json文件:

{//配置器的版本信息"version": "0.2.0","configurations": [{"name": "PPAPI",//自定义的易读名称"type": "coreclr",//用于本配置的调试器类型"request": "launch",//本配置的请求类型//重要!如果要在调试会话开始前,启动一项任务(比如重新生成以保持最新),请将此属性设置为tasks.json中指定的任务的名称"preLaunchTask": "build",//启动调试器时的执行文件"program": "${workspaceFolder}/src/Services/XXX/bin/Debug/net6.0/XXX.dll",//传递给程序进行调试的参数"args": [],//当前工作目录,用于查找依赖项和其他文件"cwd": "${workspaceFolder}/src/Services/XXX",//程序启动时立即中断"stopAtEntry": false,//如果要在调试下的程序向调试控制台或集成终端输出特定消息时在 Web 浏览器中打开 URL"serverReadyAction": {"action": "openExternally","pattern": "\\bNow listening on:\\s+(https?://\\S+)"},//环境变量"env": {"ASPNETCORE_ENVIRONMENT": "Development"},"sourceFileMap": {"/Views": "${workspaceFolder}/Views"}},{"name": ".NET Core Attach","type": "coreclr","request": "attach"}]
}

可以看到除了版本信息外,最主要的是configurations节点,如果要添加多个启动项目,那就在configurations节点数组里添加一个大括号{}包裹的新的配置对象。

如果要进行多目标调试
对于涉及多个进程(例如,客户端和服务器)的复杂方案,VS Code 支持多目标调试。
使用多目标调试非常简单:启动第一个调试会话后,只需启动另一个会话即可。一旦第二个会话启动并运行,VS Code UI 就会切换到多目标模式

tasks.json文件:

{"version": "2.0.0","tasks": [{//用户使用时调用的标签"label": "build",//要执行的实际命令"command": "dotnet",//任务的类型。对于自定义任务,这可以是shell或process。如果指定shell,则该命令被解释为 shell 命令(例如:bash、cmd 或 PowerShell)。如果指定process,则该命令被解释为要执行的进程。"type": "process","args": ["build","${workspaceFolder}/src/Services/XXX/XXX.csproj","/property:GenerateFullPaths=true","/consoleloggerparameters:NoSummary"],"problemMatcher": "$msCompile"},{"label": "publish","command": "dotnet","type": "process","args": ["publish","${workspaceFolder}/src/Services/XXX/XXX.csproj","/property:GenerateFullPaths=true","/consoleloggerparameters:NoSummary"],"problemMatcher": "$msCompile"},{"label": "watch","command": "dotnet","type": "process","args": ["watch","run","${workspaceFolder}/src/Services/XXX/XXX.csproj","/property:GenerateFullPaths=true","/consoleloggerparameters:NoSummary"],"problemMatcher": "$msCompile"}]
}

这里同样除了版本号,就是一个tasks的任务集合,可以在这里添加多个任务,比如上面自动生成了“构建”“发布”“监视”三个任务,每个任务都有自己的标识lable,在上面launch.json文件中,我们使用了"preLaunchTask": "build"来调用了tasks.json文件里定义的build任务,保证了在启动项目前,项目得到了重新生成。

了解了这些,我们就可以灵活使用这两个文件进行启动和调试了,但这两个文件的扩展性远不止这些,利用它们,我们可以实现特定于平台的属性、全局启动配置等等需求,此处不再赘述。

VSCode项目启动与调试配置相关推荐

  1. SpringBoot——项目启动时读取配置及初始化资源

    关注微信公众号:CodingTechWork,一起学习进步. 介绍   在开发过程中,我们有时候会遇到非接口调用而出发程序执行任务的一些场景,比如我们使用quartz定时框架通过配置文件来启动定时任务 ...

  2. SpringBoot项目启动,插件配置版本都协调可以兼容了但是还报错:Error while storing the mojo status

    项目场景: 启动SpringBoot项目 遇到问题 报错信息如下 问题描述: Failed to execute goal org.apache.maven.plugins:maven-compile ...

  3. 【Pycharm教程】PyCharm 配置 Python 项目运行和调试

    PyCharm 使用运行/调试配置来运行.调试和测试您的代码.每个配置都是一组命名的启动属性,它们定义要执行的内容以及应该使用的参数和环境. 使用不同的启动属性,您可以定义 PyCharm 用来执行脚 ...

  4. vscode启动Python调试 找不到指定模块

    vscode在启动python调试时,要导入numpy模块,而且非常确定numpy已经安装了,但还是提示找到numpy模块 Exception has occurred: ImportErrorIMP ...

  5. vscode + cmake调试配置

    文章目录 前言 Using C++ on Linux in VS Code vscode中编译过程配置 vscode中调试配置 vscode中C/C++配置 实际案例 vscode调试的其他问题 前言 ...

  6. VSCode一键启动运行项目教程

    启动vscode项目我们可以采用新建终端再输入命令行的方法,关闭终端即可关闭程序 但每次都输入命令行显得非常麻烦 所以我们可以点击 左边菜单中的[运行与调试] 选择node.js 选择需要的启动配置 ...

  7. Visual Studio Code (VSCode) 之 C/C++ 调试配置详解

    准备   默认情况下,VSCode仅仅内置了对node.js运行时的调试支持,只可以直接调试JavaScript.TypeScript和任何其他翻译为JavaScript的语言.其他语言的调试支持,都 ...

  8. vscode的调试配置

    文章目录 vscode的调试配置文件 调试配置选项 vscode的调试配置文件 vscode的调试配置存储在.vscode文件夹的launch.json文件中.通过以下步骤可以创建一个调试配置: 切换 ...

  9. vscode进行对html的配置及调试

    必要插件安装 Open HTML in Default Browser 用默认浏览器打开 HTML 文件 在资源管理器中,HTML 文件右键显示 在浏览器中打开 菜单 在编辑器中,HTML 文件右键显 ...

  10. 实战|C++在vscode上的调试配置

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 ⽬标  按照本⽂的流程可在vscode平台上实现像在windows系统下VS调试C++程序的效果.本⽂ ...

最新文章

  1. ORB_SLAM2程序入口(System.cc)
  2. 未比对上的bam reads 处理
  3. yii2 modal弹窗之ActiveForm ajax表单异步验证
  4. 华为nova9 SE官网上架:华为首款1亿像素手机
  5. 【报告分享】2020中国企业直播应用场景趋势研究报告.pdf(附下载链接)
  6. live writer 中注册博客园需要的设置
  7. 敏捷开发日常跟进系列之一:燃尽图(上)
  8. 密文恢复出明文的过程称为_整流二极管的反向恢复过程图解
  9. opencv移植到ubuntu
  10. sklearn交叉验证2-【老鱼学sklearn】
  11. java 新手入门电子书_3款针对初学者的免费Java电子书
  12. C语音音乐旋律代码-网络神曲
  13. 如何键盘锁定计算机,如何锁定电脑键盘或鼠标防止误操作
  14. 山大2019计算机学院夏令营,关于举办山东大学2019年环境学科优秀大学生暑期夏令营公告...
  15. 我看韩寒-话题2010读后
  16. 中国车牌号的识别大全
  17. dts同步常见问题_阿里云DTS数据同步常见问题(一)
  18. 《AngularJS深度剖析与最佳实践》一1.4 实现第一个页面:注册
  19. 运动电荷的电磁场(一)
  20. Hypervisor---虚拟化技术简易说明

热门文章

  1. Go 中文和unicode字符之间转换
  2. ueditor+秀米
  3. 发短信属于长连接还是短连接_通过链接发送短信
  4. 通过二进制头识别文件类型
  5. 【PTA L1-028】判断素数 开方判断质数
  6. 计算机程序设计流程图循环,流程图无限循环怎么画流程图循环结构怎么画
  7. 车牌识别--opencv(python)
  8. Cannot run program “D:\jdk8\bin\java.exe“ (in directory “C:\Users\Administrator\AppData\Local\JetBra
  9. 坐标计算机在线使用,caslo计算器计算坐标的方法
  10. 使用sklearn出现错误:ValueError: Expected 2D array, got 1D array instead 解决方法