C++配置VSCode开发环境
简介
Visual Studio Code (VSCode) 是一款开源的轻量级代码编辑器。它支持许多编程语言,包括C++。本文档将详细介绍如何在Windows环境下配置VSCode的C++开发环境。
安装步骤
1. 安装Visual Studio Code
首先,你需要下载并安装Visual Studio Code。你可以从其官方网站 https://code.visualstudio.com 下载最新版的Visual Studio Code。
2. 安装MinGW
MinGW是一个用于Windows平台的GCC编译器。你可以从其官方网站 https://mingw-w64.org 下载最新版的MinGW。
安装完成后,你需要将MinGW的bin目录添加到系统的PATH环境变量中。具体步骤如下:
- 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置” -> “环境变量”。
- 在“系统变量”部分,找到并选择“Path”变量,然后点击“编辑”按钮。
- 在新的窗口中,点击“新建”按钮,然后输入MinGW的bin目录的路径,例如
D:\mingw64\bin
。 - 点击“确定”按钮关闭所有窗口。
3. 安装C++插件
在VSCode中,点击左侧边栏的扩展图标,然后在搜索框中搜索需要安装的扩展
推荐安装:
Chinese (Simplified)
扩展ID:MS-CEINTL.vscode-language-pack-zh-hans
https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-zh-hans
C/C++
扩展ID:ms-vscode.cpptools
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
Better C++ Syntax
扩展ID:jeff-hykin.better-cpp-syntax
https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax
4. 配置VSCode
创建一个文件夹作为c++ 开发的工作区 例如 E:\vswork\zcjj
在VSCode中选择文件-将文件夹添加到工作区 然后在该文件夹下创建文件夹 .vscode
。
在文件夹.vscode中生成三个文件用于c++编译器的配置
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": ["${workspaceFolder}/**"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"compilerPath": "D:\\mingw64\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "${default}"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件"
}
]
}
tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "compile",
"command": "D:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "调试器生成的任务。"
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
测试你的环境
现在,你可以创建一个新的C++文件来测试你的环境。例如,你可以创建一个名为h.cpp
的文件,内容如下:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
然后,你可以按F5
来运行你的程序,如果一切配置正确,你应该可以在你的工程目录下看到一个新的h.exe
文件。并在终端中看到输出Hello, World!
c_cpp_properties.json
和 tasks.json
是 Visual Studio Code 的配置文件,它们分别用于配置 C/C++ 插件的属性和构建任务。
c_cpp_properties.json
c_cpp_properties.json
文件用于配置 C/C++ 插件的属性,例如编译器路径、C/C++ 标准版本、IntelliSense 模式等。以下是一个常见的配置示例:
{
"configurations": [
{
"name": "Win32",
"includePath": ["${workspaceFolder}/**"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "D:\\mingw64\\bin\\gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
在这个示例中:
"name"
是配置的名称。"includePath"
是头文件的搜索路径。在这里,我们使用了${workspaceFolder}/**
,这表示所有在工作区目录及其子目录下的头文件都会被包含在内。"defines"
是预处理器定义。在这里,我们定义了_DEBUG
、UNICODE
和_UNICODE
。"windowsSdkVersion"
是 Windows SDK 的版本。这个选项通常用于在 Windows 平台上开发。"compilerPath"
是编译器的路径。在这里,我们使用了 MinGW 的 GCC 编译器。"cStandard"
和"cppStandard"
分别是 C 和 C++ 的标准版本。"intelliSenseMode"
是 IntelliSense 的模式。在这里,我们使用了gcc-x64
模式,这表示我们使用 GCC 编译器,并且目标平台是 x64。
tasks.json
tasks.json
文件用于配置构建任务,例如编译、链接等。以下是一个常见的配置示例:
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "D:\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:/mingw64/bin"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
在这个示例中:
"type"
是任务的类型。在这里,我们使用了shell
类型,这表示任务将在 shell 中执行。"label"
是任务的标签,可以用于在 Visual Studio Code 中识别任务。"command"
是要执行的命令。在这里,我们使用了 g++ 编译器。"args"
是命令的参数。在这里,我们使用了-g
选项来生成调试信息,${file}
表示当前活动文件,-o
选项用于指定输出文件的名称,${fileDirname}/${fileBasenameNoExtension}.exe
表示输出文件的路径和名称。"options"
是命令的选项。在这里,我们设置了cwd
(当前工作目录)为 g++ 编译器的路径。"problemMatcher"
用于将输出的错误和警告与源代码中的位置关联起来。在这里,我们使用了$gcc
问题匹配器,这表示我们使用 GCC 编译器。"group"
是任务的组。在这里,我们将这个任务设置为默认的构建任务。