Visual Studio 2022/2019中C/C++如何配置多个可选调试命令?
Visual Studio 多场景调试配置切换方案
在Visual Studio中默认通过Configuration Properties -> Debugging路径编辑调试命令,验证多调试场景时反复调整Command Arguments项操作繁琐,可通过以下两种原生方案实现类似VSCode CMake项目多套调试配置预存、一键选择运行的效果,方案均兼容Visual Studio 2019版本:
- 方案1:基于配置管理器的独立项目配置
- 点击顶部菜单栏「生成」→「配置管理器」,点开「活动解决方案配置」下拉菜单选择「新建」,为每个调试场景创建独立的解决方案配置,例如
Debug-Scenario1、Debug-Scenario2,创建时选择复制原有Debug配置的默认设置,同步创建对应项目的同名配置。 - 在顶部工具栏的解决方案配置下拉栏切换到对应新建的配置,右键项目打开属性页,进入
Configuration Properties -> Debugging页面,单独为该配置填写命令参数、工作目录、环境变量等调试项,保存后配置会独立存储,不会互相覆盖。 - 后续需要切换调试场景时,直接在顶部工具栏选择对应配置,点击启动调试即可自动加载对应参数,无需反复修改设置。
- 点击顶部菜单栏「生成」→「配置管理器」,点开「活动解决方案配置」下拉菜单选择「新建」,为每个调试场景创建独立的解决方案配置,例如
- 方案2:基于launchSettings.json的类VSCode配置体验
如果偏好类似launch.json的文件化配置方式,可在项目根目录新建Properties文件夹,在文件夹内创建launchSettings.json文件,按规则写入多套调试配置即可,示例配置如下:
{ "profiles": { "(Windows) 常规启动": { "commandName": "Project", "executablePath": "$(OutDir)$(TargetName).exe", "commandLineArgs": [], "workingDirectory": "$(ProjectDir)", "stopAtEntry": false, "environmentVariables": {}, "console": "integratedTerminal" }, "(Windows) 带测试参数启动": { "commandName": "Project", "executablePath": "$(OutDir)$(TargetName).exe", "commandLineArgs": ["--input", "test_case_1.txt", "--verbose"], "workingDirectory": "$(ProjectDir)/test_data", "stopAtEntry": false, "environmentVariables": {"LOG_LEVEL": "DEBUG"}, "console": "externalTerminal" } } }
保存文件后,VS顶部调试启动按钮旁的下拉菜单会自动识别所有配置项,直接选择对应条目即可启动对应调试场景,配置支持$(ProjectDir)、$(OutDir)、$(TargetName)等VS内置宏,无需硬编码绝对路径。
注意:Visual Studio 2019需升级至16.6及以上版本,才支持C++项目识别
launchSettings.json调试配置,低于该版本直接使用方案1即可。
内容的提问来源于stack exchange,提问作者Joaqo
相关产品推荐
相关产品推荐

