VSCode C++ 开发配置

最近在用vscode写C++程序,记录一下调试方法。

c_cpp_properties文件

vscode的C/C++扩展程序会根据当前系统环境配置基本信息,因此有可能配置不完整,这时需要通过生成c_cpp_properties.json文件来配置缺少的信息:
ctrl+shift+P打开Command Palette,运行C/Cpp: Edit configurations...生成c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Linux",        //配置名称,默认为系统名,可以自行更改
            "includePath": [        //(常用)运行项目包含.h头文件的目录,
                "${workspaceFolder}/**"//此处会匹配工作文件下的所有文件,**意味着递归搜索子目录
            ],                      //添加"compilerPath"后,系统include路径可不写明
            "defines": [],        //(常用)定义一些需要的变量,等价于在编译时写"-D变量" 
            "compilerPath": "/usr/bin/gcc",     //编译器的路径
            "cStandard": "gnu17",               //C标准的版本
            "cppStandard": "gnu++14",           //C++标准的版本
            "intelliSenseMode": "gcc-x64"       //IntelliSense的一些配置,默认即可
        }
    ],
    "version": 4
}

官方参考文档:https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference

常用的变量名:
${workspaceFolder} - VS Code当前打开工作区文件夹的路径
${file} - 当前打开文件的绝对路径
${fileBasename} - 当前打开文件的名称
${fileBasenameNoExtension} - 当前打开文件的名称,但是不加后缀名
${fileDirname} - 文件所在的文件夹路径

task.js文件

tasks.json 是在 vscode 中辅助程序编译的模块,可以代你执行类似于在命令行输入 “gcc hello.c -o hello” 命令的操作,你只要在图形界面下操作即可生成可执行文件。

当你在项目文件夹下打开 vscode 后:

  1. 选择“终端”;  2) 选择“配置任务”;  3) 选择你想使用的编译器(这里本人选择 gcc);

即可生成默认的 tasks.json 文件。

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",        //任务类型(如果是shell,下面的command就相当于执行shell命令)
            "label": "环境配置测试",     //任务的名称,可以修改,但一定要和launch中的"preLaunchTask"项保持一致
            "command": "/usr/bin/gcc", //编译器(可执行文件)的路径
            "args": [                  //(常用)编译时使用的参数,和命令行下相同
                "-g",
                "${fileDirname}/hello.c",
                "-o",
                "${fileDirname}/hello"
            ],
            //上述内容相当于在命令行下输入了: gcc hello.c -o hello
            "options": {
                "cwd": "/usr/bin"     //编译器的目录
            },
            "problemMatcher": [
                "$gcc"             //使用gcc捕捉错误
            ],
            "group": "build",
            "detail": "compiler: /usr/bin/gcc"      //一些描述性信息
        }
    ]
}

官方文档:https://code.visualstudio.com/docs/editor/tasks

launch.js文件

launch.json 是用于运行 ( run ) 和调试 ( debug ) 的配置文件,可以指定语言环境,指定调试类型等等内容。
打开 VS Code 后,打开需要调试的程序,按F5,按照它的提示就能生成launch.js文件啦。
生成的 launch.json 也放在 .vscode 文件夹中
其中各种变量的内容及涵义如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "运行和调试",         //运行和调试任务的名称,可自定义
            "type": "cppdbg",          //配置类型,默认即可
            "request": "launch",       //launch模式允许我们打断点进行调试,默认即可
            "program": "${workspaceFolder}/build/tests/${fileBasenameNoExtension}", //(常用)程序目录
            "args": [],                //(常用)程序(main函数)的入口参数
            "stopAtEntry": false,       //在入口处暂停,选true相当于在入口处增加断点
            "cwd": "${workspaceFolder}",//当前的文件目录
            "environment": [],          //添加到程序的环境变量
            "externalConsole": false,   //外部控制台,true在调试时会开启系统控制台窗口,false会使用vscode自带的调试控制台
            "MIMode": "gdb",            //使用gdb进行调试
            "setupCommands": [         //用来设置gdb的参数,默认即可
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "环境配置测试",    //(常用)运行和调试前要执行的task(编译)任务,任务名要和task.json里的"label"对应
            "miDebuggerPath": "/usr/bin/gdb"  //debug调试工具的路径,这里使用gdb所在的路径
        }
    ]

官方文档:https://code.visualstudio.com/docs/editor/debugging#_global-launch-configuration

参考

https://www.cnblogs.com/harrypotterisdead/p/14207866.html
https://www.cnblogs.com/sddai/p/9508696.html

posted @ 2022-10-02 22:04  PinganT  阅读(208)  评论(0)    收藏  举报