【vscode环境配置心得】C++版

vscode并不是IDE,他只是一个多方集成的编辑器,它好不好用,能不能用, 完全取决的我们自已的DIY。

无论是更新mingw还是第一次使用,都可以参考一下

我下面以C++版为例:

我们需要准备好前菜:

1.安装编译器

C++是编译型语言,首先你必须去官网,下载一款编译器,c++的编译器也有很多,这里以mingw为例,如果你是windows,WinLibs 版本,下载官网这里🔗https://winlibs.com/

如果你是第一次下载:下载好编译器,你安装到哪里都无所谓,但是我们需要找到他的bin路径(这里面就是具体能够编译的编译器和调试器....一些可执行程序,后面给我们程序编译的工具都在这个路径下),然后将bin路径配置为环境变量。

如果你是更新版本 :配置的时候,需要注意,若你以前已经安装了一些旧版本的,并且已经配置了旧版本所在路径的环境变量,那么这个新版本路径,你需要上移,优先使用新版本的,不然后面,你以为配置了新版本,并且也添加了环境变量,最后,可能导致还是用的旧版本的gcc,最后导致版本不一致,比较落后,编译不过去。

比如,我这里就把新版本的上移到最上面了,下载还有一个以前安装的编译器。

2.ok,下面我们配置一下主要的两个文件,可以参考一下

一个是launch.json

这个文件主要是一些关于debug的内容,具体含义,标注了,可以根据自已的喜好配置

bash 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    // 这个文件,主要用来调试的。
    "version": "2.0",
    "configurations": [
        // {
        //     "type": "node",
        //     "request": "launch",
        //     "name": "Launch Program",
        //     "skipFiles": [
        //         "<node_internals>/**"
        //     ],
        //     "program": "${file}"
        // },
        {
            "name": "Template",                  //运行和调试任务的名称,可自定义
            "type": "cppdbg",                     //配置类型,默认即可
            "request": "launch",                  //launch模式允许我们打断点进行调试,默认即可
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",    //(常用)将要执行调试的程序的路径
            "args": [
                "/C",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "&",
                "pause"
            ],                           //(常用)程序(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 g++",                      //(常用)运行和调试前要执行的task(编译)任务,任务名要和task.json里的"label"对应
            "miDebuggerPath": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/gdb.exe"       //debug调试工具的路径,这里使用gdb所在的路径
        }
    ],
    
}

注意:要保证preLaunchTask任务名要和task.json里的"label"对应

另一个是task.json,主要是编译的一些选项:

bash 复制代码
//tasks.json是辅助程序编译的模块,执行类似于在命令行输入"gcc hello.c -o hello"命令的操作
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",                                //任务类型(如果是shell,下面的command就相当于执行shell命令)
			"label": "task g++",                               //任务的名称,可以修改,但一定要和launch.json的"preLaunchTask"项保持一致
			"command": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/g++.exe",       //编译器的路径
			"args": [                                          //(常用)编译时使用的参数,和命令行下相同
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe",
				"-fexec-charset=utf-8", // 编码规则                      
				"-std=c++17"
			],
			"options": {
				"cwd": "${fileDirname}"                       
			},
			"problemMatcher": [                          
				"$gcc"
			],
            "group": {
                "kind": "build",
                "isDefault": true
            },
			"detail": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/g++.exe"   //一些描述性信息
		},
		
	]
}

然后我们在编译的时候,就可以选择我们已经配置好的这个Template(launch中起的)的运行和调试了:


全局,永久有效

ok,这两个文件配置好了,就可以选择直接编译或者调试了。但是这是我们本地的,也就是局部的,只能在这个工作区选择,换个工作区就找不到了。也就是vscode会自动帮我们在当前工作区创建新的配置文件。

因此,我们需要配置全局的,也就是把刚刚那两个文件提升为全局。

配置文件的内容基本一致,只是添加罢了。

修改为全局主要有两个文件:

第一步:配置全局 任务 (User Tasks)

  1. 在 VS Code 中按下 Ctrl + Shift + P

  2. 输入并选择 Tasks: Open User Tasks

根据我们刚刚的配置,task.json:

bash 复制代码
// 全局的task.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cppbuild",
            "label": "task g++", // 保持你的原始 label
            "command": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-fexec-charset=utf-8", // 编码规则,看着配置
                "-std=c++17"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/g++.exe"
        }
    ]
}

第二步:配置全局 启动设置 (User Settings)

  1. 在 VS Code 中按下 Ctrl + Shift + P

  2. 输入并选择 Open User Settings (JSON)

  3. 在大括号 {} 中添加(或修改)以下 launch 块:

bash 复制代码
{
    //之前的设置(保留) ---
    "workbench.startupEditor": "none",
    "explorer.confirmDelete": false,
    "cmake.showOptionsMovedNotification": false,
    "debug.onTaskErrors": "abort",
    "cmake.configureOnOpen": true,
    "workbench.iconTheme": "vscode-icons",
    "remote.SSH.remotePlatform": {
        "60.204.222.188": "linux",
        "47.108.113.176": "linux",
        "192.168.174.128": "linux"
    },
    "backgroundCover.imagePath": "f:\\图片\\屏幕截图 2025-08-23 005831.png",
    "files.autoSave": "afterDelay",
    "workbench.colorTheme": "Monokai",
    "workbench.commandPalette.experimental.suggestCommands": true,
    "editor.fontSize": 16,
    "git.openRepositoryInParentFolders": "never",
    "powermode.enabled": true,
    "terminal.integrated.environmentChangesRelaunch": false,

    //  新增: 全局 C++ 调试与编译配置 ---
    
    "launch": {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "golbal_Template", // 全局的配置
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
                "args": [], 
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": false, // 弹出独立黑窗口运行
                "MIMode": "gdb",
                "miDebuggerPath": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/gdb.exe",
                "preLaunchTask": "task g++", // 运行前自动寻找全局 User Tasks 中的编译任务
                "setupCommands": [
                    {
                        "description": "为 gdb 启用整齐打印",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    },

    // 新增:C++ 全局插件优化(防止红波浪线) ---

    // 默认编译器路径,让 VS Code 的提示功能锁定你的 GCC 15.2.0
    "C_Cpp.default.compilerPath": "E:/gcc-15.2.0-mingw/winlibs-x86_64-posix-seh-gcc-15.2.0-mingw-w64msvcrt-13.0.0-r5/mingw64/bin/g++.exe",
    
    // 强制智能提示引擎保持最新状态
    "C_Cpp.intelliSenseEngine": "default",
    
    // 设置默认 C++ 标准,避免 C++17 特性报错
    "C_Cpp.default.cppStandard": "c++17"
}

最后,在任何工作区编译的时候,都可以找到全局的名字叫做golbal_Template,然后选择它!

最后,再说一嘴,这样的配置不能测试性能测试,我们可以配置一些局部的性能测试的选项,或者直接命令行运行可执行程序。我们这样配置,会带上很多调试信息,因此不是万能的,不过平时学习足够了。

相关推荐
记录无知岁月2 小时前
【C/C++】头文件包含问题分析
c语言·开发语言·c++
楚Y6同学2 小时前
QT C++之保存界面设置为配置文件
c++·qt·保存配置
谭欣辰2 小时前
C++ 堆 的基础与 二叉堆详解
开发语言·c++
ian4u2 小时前
车载 Android C++ 完整技能路线:从基础到进阶
android·开发语言·c++
郝学胜-神的一滴2 小时前
[力扣 227] 双栈妙解表达式计算:从思维逻辑到C++实战,吃透反向波兰式底层原理
java·前端·数据结构·c++·算法
Yuk丶3 小时前
Procedural Dialogue Engine - UE4程序化对话系统的技术实现
c++·游戏引擎·ue4·游戏程序·虚幻
自信150413057593 小时前
重生之从0开始学习c++之string(上)
开发语言·c++·学习
BestOrNothing_20153 小时前
C++零基础到工程实战(4.3.8):基于 vector 实现一个简易缓存数据库
c++·vector·string·缓存数据库·stringstream·键值存储·getline
苏宸啊3 小时前
C++异常
c++