vscode CMake Tools 传递命令行参数
2023-10-09 本文已影响0人
book_02
vscode调试C++程序时,有时需要给程序传递命令行参数。
通常做法是配置launch.json文件中要调试程序的args字段。
但是设置tasks.json和launch.json的方式不如使用CMake Tools插件调试运行程序方便。
CMake Tools插件调试运行程序可以在多个cmake的target中切换,省去了写那些配置的繁琐步骤。
1. 设置方法: 设置 cmake.debugConfig 的 args字段
注意要是去设置Workspace的settings.json,因为每个项目需要的设置的命令行参数不一样。
如果设置User的settings.json会对其他项目产生影响。
{
"cmake.debugConfig": {
"args": ["arg1", "arg2"]
}
}
这里只配置了cmake.debugConfig中的args字段,其他字段省去了,因为我们当前只需要设置命令行参数。
虽然名字叫debugConfig,这里传递的命令行参数在Release和Debug模式下都是有效的。
2. 例子
假设main.cpp需要用到命令行参数
#include <iostream>
int main(int argc, char **argv)
{
std::cout << argc << std::endl;
std::cout << argv[1] << std::endl;
return 0;
}
打开Workspace的settings.json
添加命令行参数如下:
{
"cmake.debugConfig": {
"args": [
"arg1",
"arg2"
]
}
}
运行程序,结果如下,符合预期
3
arg1