VSCode配置C/C++编程环境
一、VSCode 简介
VSCode 即Visual Studio Code, 是微软开发的免费开源跨平台代码编辑器,支持多语言编程与扩展插件,集成调试、Git及高效编码工具,深受开发者青睐。 它本身是一款轻量的代码编辑器,不附带任何编程语言环境,需要自行安装编程语言,VSCode通过在线安装扩展插件来配置相应编程语言的开发环境。
二、MinGW 下载
三、扩展安装
在VSCode扩展商店搜索C/C++,安装下图框选的程序。只需安装其中一个即可,不过第二个使用更便捷,对新手友好。

四、编译运行和调试
4.1 C/C++ Runner 插件
C/C++ Runner 插件安装好后,只要GCC的程序路径(MinGW64/bin)在Path环境变量中(在任何cmd窗口都能使用gcc、g++或gdb),便可以直接通过快捷键进行编译、运行、调试了。
4.1.1 单文件编译运行调试
| 快捷键 | 说明 |
|---|---|
| Ctrl + Alt + B | 编译,生成一个build文件夹 |
| Ctrl + Alt + R | 运行。需要先编译。 |
| Ctrl + Alt + D | 调试。需要先编译。路径中不能有中文(解决方法见下)。 |
4.1.2 多文件编译运行调试
安装C/C++ Runner 插件后,底部状态栏会出现新的工具,分别是源文件目录,编译方式(Debug/Release), 编译,运行,清理编译文件,调试。点击目录可以选择源文件目录,点击编译按钮便会编译该目录下的所有源文件,生成build文件夹存放目标文件和可执行程序。

4.2 C/C++ 插件
(1).vscode文件
如果想自定义gcc或gdb路径,只需修改自动生成的.vscode文件夹下的文档。文档内容解说见下(文档和下面插件所需的文档相似)。
C/C++ 插件安装好后,需要手动配置环境。操作方法如下:
1. 在当前工作目录下创建 .vscode 文件夹。
2. 在vscode文件夹中创建两个json文件:tasks.json, launch.json。
tasks.json 用于配置编译器,设置编译命令,生成可执行文件。
launch.json 用于配置gdb调试器。该插件默认用gdb来运行程序,而gdb对中文路径的支持不太友好,所以即使不调试,只运行,也不能有中文路径。
VSCode 支持以下变量,用于动态生成文件路径或参数:
${file}:当前打开的文件路径。
${fileDirname}:当前文件的目录路径。
${fileBasename}:当前文件的文件名(包括扩展名)。
${fileBasenameNoExtension}:当前文件的文件名(不包括扩展名)。
${workspaceFolder}:工作区根目录路径。
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Build C Program",
"type": "shell",
// "type": "process",
// "type": "cppbuild",
"command": "gcc", // gcc程序路径
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"group": {
"kind": "build",
"isDefault": true // 使用快捷键时默认运行此任务
},
"problemMatcher": [
"$gcc"
],
"detail": "使用 gcc 编译当前文件"
},
]
}
强调一下:
"tasks"是个列表,它可以包含多个任务,说白了就是编译配置。以上只列出了一个编译配置。
"group"属性:
“kind”: "build"表示这是一个编译任务,
“isDefault” 属性表示是默认的编译任务(使用快捷键Ctrl+Shift+B编译默认使用该任务)。
“label”: “Build C Program” 表示这个任务的名称,如果没有设置默认任务,编译时,会显示该任务的"label"和"detail"供用户选择。
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug C Program",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe", // 程序路径
"args": [], // 命令行参数
"stopAtEntry": false,
"cwd": "${workspaceFolder}", // 工作目录
"environment": [], // 环境变量
"externalConsole": false, // 是否使用外部终端显示输出
"MIMode": "gdb", // 使用 GDB 作为调试器
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "Build C Program", // 调试前运行的任务
"miDebuggerPath": "gdb" // GDB 路径
}
]
}
强调一下:
"program"属性指定要调试的可执行文件。必须是绝对路径,并且不含中文字符。
"cwd"属性指定要调试的源文件所在路径。必须是绝对路径,并且不含中文字符。
“miDebuggerPath” 属性指定gdb程序路径。
“preLaunchTask” 属性指定在调试前,先完成编译任务。其值和tasks.json文件中任务的 "label"属性相对应。
“stopAtEntry” 属性表示是否在调试时自动停在入口函数处。
“externalConsole” 属性表示是否在调试时调用CMD窗口运行程序,为false时则在内置终端运行程序,注意内置终端的输出编码为utf-8, 而gdb调试器的输出编码为gbk,所以在内置终端中进行gdb调试输出的一般是乱码。
(2) 编译、运行、调试方式
| 操作 | 步骤 | 快捷键 |
|---|---|---|
| 编译 | 终端 > 运行生成任务 | Ctrl+Shift+B |
| 运行 | 运行 > 以非调试模式运行 | Ctrl+F5 |
| 调试 | 运行 > 启动调试 | F5 |
五、插件设置
5.1 自定义插件设置
齿轮图标 - 设置(Settings)
快捷键 Ctrl + ,

扩展(Extensions):选择对应的插件进行参数设置。

六、VSCode 运行包含中文路径的GDB 调试解决办法
该方法能彻底解决调试时中文路径报错的问题。使用该方法后,允许VSCode的工作路径中包含中文,生成的可执行文件的路径或文件名包含中文。
该方法通过修改系统的语言设置来达到目的。但是该方法会产生以下副作用:
-
文件资源管理器出现BUG。具体表现为系统的文件路径可能出现乱码,导致某些文件夹不能打开、某些文件不能读取、写入。外部移动U盘识别不了或文件写入、读取失败等问题。
-
安装新程序时,安装步骤界面可能会有中文乱码。
不过,该方法是可逆的,如果问题很大,可以修改回来。
具体步骤如下:
- 打开设置
- 时间和语言
- 语言
- 管理语言设置
- 更改系统区域设置
- 勾选"Beta版"
- 确定并重启电脑
附图如下:
更改系统区域设置

勾选"Beta版"


2983

被折叠的 条评论
为什么被折叠?



