Visual Studio Code - cpp环境搭建流程(自用)

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

Linux-Ubuntu系统:

        一、下载GNU Compiler Collection(GCC)

sudo apt update
sudo apt install build-essential gdb

        二、下载安装Visual Studio Code(vscode)

                方法一:通过Ubuntu Software安装‌‌

                        打开"Ubuntu Software"

                        搜索"code"并选择Visual Studio Code

                        点击"Install"进行安装

                方法二:通过官网下载‌‌

                        官网地址:https://code.visualstudio.com/Download

                        访问VS Code官网下载.deb文件

                        双击文件通过软件中心安装

        三、配置环境变量(可选)

                若系统未自动添加编译器路径,需手动将/usr/bin添加到PATH环境变量中:

export PATH=/usr/bin:$PATH

        四、vscode配置

                1、下载cpp扩展包/插件: 

                        a.打开VS Code,点击左侧Extensions图标

                        b.搜索"C++"并安装Microsoft官方提供的C/C++插件‌与其他需要的插件

                        (1)  C/C++;                                                          Microsoft

                        (2)  C/C++ Extension Pack;                                Microsoft

                        (3)  Code Runner(建议安装);                               JunHan

                        (4)  Cmake(如需);

                2、编辑调试:

‌                        A.        tasks.json(编译任务)‌‌:

                                (1)按Ctrl+Shift+P,输入"Tasks: Configure Task"

                                (2)选择"g++ build active file"生成编译任务

                        B.        launch.json(调试配置)‌‌:

                                (1)点击左侧Debug图标

                                (2)选择"Add Configuration" → "C++ (GDB/LLDB)"

                                (3)修改"program"字段为"${workspaceFolder}/${fileBasenameNoExtension}"

       一般来说,上述操作完成后,就可以进行正常的代码编译和调试工作了。

                在编辑调试中,也可尝试自主配置json文件

                        vscode 创建项目-project目录(按需自定义)后,在该目录下创建一个".vscode"的文                    件夹,里面创建3个json文件c_cpp_properties.json、tasks.json、launch.json

                        结合 4.2 编辑调试的步骤:

                (1)  c_cpp_properties.json -最先配置

                        这个文件配置‌代码智能提示和语法检查‌,不参与编译过程但影响编写体验

                        ‌生成方法‌:

                                按 Ctrl+Shift+P,输入 "C/C++: Edit Configurations"

                                主要设置头文件路径和编译器信息

‌                        作用‌:告诉VSCode在哪里找头文件,使用哪个C++标准等

{
    "configurations":[
        {"name": "Linux",
         "includePath"::["${workspaceFolder}/**"],
        "defines":[],
        "cStandard": "c17",
        "cppStandard": "gnu++17",
        "intelliSenseMode":"linux-gcc-x64",
        "compilerPath": "/usr/bin/gcc"  //通常是这个路径,需要使用安装gcc时的完整路径
        }
   ],
   "version": 4

 "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

                (2)  tasks.json -其次配置

                这个文件定义‌编译任务‌,告诉VSCode如何将源代码编译成可执行文件。

               ‌生成方法‌:

                        按 Ctrl+Shift+P,输入 "Tasks: Configure Task"

                        选择 "g++ build active file" 模板

‌                核心配置‌:

        command:指定g++编译器路径

        args:编译参数,如头文件路径、输出文件名等

{    
    //tasks.json

    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "compiler: /usr/bin/g++"
        }
    ]
}

 如果是多文件的项目,tasks.json可以配置如下:

{
    // tasks.json 
    //for multifile program
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "g++ build project",
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "${workspaceFolder}/src/*.cpp",
                "${workspaceFolder}/*.cpp",
                "-I",
                "${workspaceFolder}/include",
                "-o",
                "${workspaceFolder}/bin/main"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": false
            },
            "detail": "compiler: /usr/bin/g++"
        }
    ]
}

                (3)  launch.json-最后配置

                        这个文件配置‌调试器‌,定义如何启动和调试程序。

‌                        生成方法‌:

                                点击左侧调试图标

                                选择 "Add Configuration" → "C++ (GDB/LLDB)"

‌                        关键字段‌:

        program:指定要调试的可执行文件路径

        preLaunchTask:调试前要运行的编译任务名称

{
    //launch.json
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++ build active file"
        }
    ]
}

配置流程说明

‌        推荐配置顺序‌:

                1‌.  c_cpp_properties.json‌: 配置编译器路径和智能提示

                2‌.  tasks.json‌:    定义编译任务和参数

                3‌.  launch.json‌: 设置调试器,引用编译任务

        ‌变量说明‌:

        ${workspaceFolder}:工作区根目录

        ${file}:当前打开的文件

        ${fileDirname}:当前文件所在目录

        ${fileBasenameNoExtension}:当前文件名(不含扩展名)


        为什么按这个顺序?

                逻辑很清晰‌:

                (1)先让编辑器理解代码‌(c_cpp_properties.json)

                ‌(2)再定义如何构建程序‌(tasks.json)

                (3)最后配置如何调试构建好的程序‌(launch.json)


Windows系统:

一、编译器选择

        主流的CPP编译器有很多,如:

        1、GCC (GNU Compiler Collection)

                包含g++编译器,是许多Linux发行版的默认编译器

                在Windows上通过MinGW或MSYS2使用

                免费开源,支持多种优化选项

        2、Clang

                LLVM项目的一部分,免费开源

                编译速度快,提供更好的错误报告

                模块化架构易于扩展

        3、‌Microsoft Visual C++ Compiler (MSVC)

                Windows平台下的主要C++编译器

                通常与Visual Studio集成

                提供丰富的开发工具和调试功能

        4、‌MinGW-w64

                Windows上的GNU工具集

                开发的程序不需要额外第三方DLL支持

                适合跨平台开发

        编译器特点对比

‌        MSVC优势‌:深度集成Windows开发环境,调试工具完善
‌        GCC/MinGW优势‌:跨平台兼容性好,开源免费16
‌        Clang优势‌:编译速度快,错误信息更友好1

‌        立即选择建议‌:如果你主要进行Windows平台开发且需要强大调试功能,推荐使用Visual Studio自带的MSVC编译器;如果你需要跨平台开发或偏好开源工具,MinGW-w64是更好的选择,本文中使用buildtools安装的MSVC(原因是之前笔者用python中的cython时已经用buildtools安装了它,避免重复安装)。

(具体安装略,按照网络教程 进入对应编译器官网 下载 -> 安装 即可)

二、环境变量配置

        以buildtools 安装的 MSVC 为例:

        1、‌PATH环境变量

        将MSVC编译器的bin目录添加到系统PATH中:

        C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\Hostx64\x64

        作用:让系统能够找到cl.exe、link.exe等编译工具

        2、‌INCLUDE环境变量

        设置头文件搜索路径:

C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include

C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt

C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um

        作用:编译器查找标准库头文件

        3、LIB环境变量
        设置库文件搜索路径:

C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\lib\x64

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64

三、下载 vs code

        官网地址:https://code.visualstudio.com/Download

        具体的插件安装同linux系统:

                1、C/C++ ;

                2、C/C++ Extension Pack;  

                3、Code Runner;

四、vs code 环境配置

        1、code内创建项目目录-project(根据需求自定义项目目录名称);

        2、在project内创建.vscode文件夹;

        3、在.vscode目录内创建json配置文件:

                (1)c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64/cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64",
"configurationProvider": "ms-vscode.cmake-tools" //新增属性 
        }
    ],
    "version": 4
}
                (2)tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: cl.exe 生成活动文件",
            "command": "cl.exe",
            "args": [
                "/Zi",
                "/EHsc",
                "/Fe:",
                "${fileDirname}/output/${fileBasenameNoExtension}.exe",
                "${file}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": ["$msCompile"],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": false
            },
            "console": "integratedTerminal"
        }
    ]
}
                 (3)launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) 启动",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${fileDirname}/output/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "console": "integratedTerminal",
            "preLaunchTask": "C/C++: cl.exe 生成活动文件"
        }
    ]
}

        关键配置项说明

compilerPath

  • 作用:指定MSVC编译器的完整路径
  • 格式:必须指向cl.exe文件,而不是目录

intelliSenseMode

  • 作用:设置代码智能提示模式
  • 正确值:windows-msvc-x64

cwd设置

  • 作用:定义编译时的工作目录
  • 推荐值:"${workspaceFolder}"

输出目录控制

  • 参数:"/Fe:"
  • 作用:指定生成的可执行文件路径

控制台显示设置

  • "console": "integratedTerminal"
  • 作用:确保程序输出显示在VS Code内置终端中

验证配置

完成所有配置后,重新启动VS Code,创建一个简单的C++测试文件,按Ctrl+Shift+B编译,按F5调试运行,检查输出是否显示在终端中且生成文件在output目录。

建议先在VS Code中安装C/C++扩展包,然后按Ctrl+Shift+P输入"C/C++: Edit Configurations (UI)",在图形界面中逐一检查上述配置项。

        

        

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值