vscode CMake Tools 传递命令行参数


vscode调试C++程序时,有时需要给程序传递命令行参数。这么说,如果是用F5去运行的话那么则是另外一套配置配置方法,但现在最近已经习惯了CMake一套工具链,同时懒得跳到命令行里面去打make或者运行脚本。这种时候,通常做法是配置launch.json文件中要调试程序的args字段。但是设置tasks.jsonlaunch.json的方式不如使用CMake Tools插件调试运行程序方便。CMake Tools插件调试运行程序可以在多个cmake的target中切换,省去了写那些配置的繁琐步骤。

1. 设置方法: 设置 cmake.debugConfig 的 args字段

注意要是去设置Workspacesettings.json,因为每个项目需要的设置的命令行参数不一样。

如果设置Usersettings.json会对其他项目产生影响。

{
    "cmake.debugConfig": {
        "args": ["arg1", "arg2"]
    }
}

这里只配置了cmake.debugConfig中的args字段,其他字段省去了,因为我们当前只需要设置命令行参数。

虽然名字叫debugConfig,这里传递的命令行参数在ReleaseDebug模式下都是有效的。

2. 例子

假设main.cpp需要用到命令行参数

#include <iostream>

int main(int argc, char **argv)
{
    std::cout << argc << std::endl;
    std::cout << argv[1] << std::endl;

    return 0;
}

然后直接创建一个.vscode文件夹,创建一个settings.json文件,把上面1中提到的内容加进去就好了。

这样用CMake一套就能直接带参数调试或者运行了,同理,想要配置clangd的话也是直接去settings设置就好。


文章作者: JoyTsing
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 JoyTsing !
评论
 上一篇
下一篇 
贵安,元旦快乐 贵安,元旦快乐
元旦快乐2024年伊始,很久没有更新新的博文了,先给大家祝贺一下。在这里顺便说一下本站接下来的计划吧: 因为这个blog是我大二时候一时兴起搭的,大部分插件什么的也是那会弄的,现在发现已经有很多不能用了,可能之后会有一次大的迭代或者重构吧。
2024-01-02
  目录