VS Code配置C++环境
宇宙第一IDE VS确实很好,但问题是那个编译器实在是太大了,在超极本里的256G硬盘内安装就显得十分捉襟见肘。因此考虑使用VS Code替代VS。
1.VS Code安装
本体安装很简单,直接在官网下载即可 官网链接
安装中文插件
下载安装之后,按ctrl+shift+x打开扩展商店,安装Chinese (Simplified) Language Pack for Visual Studio Code
按F1,搜索Configure Display Language,将locale项改成”zh-CN”,ctrl+s保存,重启vs
安装其他拓展
扩展商店里还需要安装其他的一些插件,必备的是C/C++和C/C++ Clang Command Adapter
,其他的插件也可以按图适当安装
2.C++环境安装
安装minGW
这里选用的是minGW_w64,使用普通的minGW应该也可以。下载链接
需要注意的是这个安装包需要联网才能安装,否则会报错无法下载txt。
安装选项中记得将Architecture改成x86_64,其余默认就好。
安装LLVM
这个似乎是用来作为一个编译器前端。下载链接
选择clang for Windows,现在的最新版本是LLVM 6.0.0
把LLVM的bin加入环境变量,例如C:\Program Files\LLVM\bin
输入 clang -v
,有回显则配置成功
合并minGW和Clang
把mingw里的东西全部复制到Clang的文件夹里去,他们会无冲突合并,效果图见下。
在cmd中分别输入g++ --version
和gcc -v
,有对应返回结果则环境设置完成。
不合并也不是不行,但需要单独设置环境变量,在Path中添加minGW安装位置的bin文件夹,例如C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
而且不进行其他设置的话,会产生无法识别头文件的问题。虽然可以正常编译但是编辑器中会有绿波浪线,不太建议使用。
3、json配置
在vs中创建了一个新的cpp文件后,按F5选择对应的编程语言(C++),VS Code会自动创建一个.vscode文件夹和launch.json文件,用下面的文件将其替换。并新建tasks.json和c_cpp_properties.json文件,写入下面的代码。
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch (GDB)", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"targetArchitecture": "x64", // 生成目标架构,一般为x86或x64
"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡",
"MIMode": "gdb", // 指定连接的调试器
"miDebuggerPath": "C:/Program Files/LLVM/bin/gdb.exe", // 调试器路径
"setupCommands": [
{
"description": "Enable pretty-printing for GDB",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
],
// 此处设置按下F5调用的tasks.json中的任务标签label
"preLaunchTask": "Compile"
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile",
"command": "g++",
"args": [
"-g",//指定编译源代码文件
"${file}",
"-o",// 指定输出文件名,不加该参数则默认输出a.exe
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-ggdb3", // 生成和调试有关的信息
"-Wall", // 开启额外警告
"-static-libgcc", // 静态链接
"-Wno-format",
"-finput-charset=UTF-8",//输入编译器文本编码 默认为UTF-8
"-fexec-charset=GBK"//编译器输出文本编码 自行选择
],
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared"
},
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative","\\"
],
"pattern":{
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
]
}
c_cpp_properties.json
注意这个json不允许写注释
{
"configurations": [
{
"name": "Win32",
"intelliSenseMode": "clang-x64",
"includePath": [
"/usr/include",
"/usr/local/include",
"${workspaceFolder}"
],
"defines": [
"_DEBUG",
"UNICODE",
"__GNUC__=7",
"__cdecl=__attribute__((__cdecl__))"
],
"browse": {
"path": [
"/usr/include",
"/usr/local/include",
"${workspaceFolder}"
]
},
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": "",
"compilerPath": "C:/Program Files/LLVM/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17"
}
],
"version": 4
}
4.编译运行
记得不要点右上角的灰色运行按钮!
点击这个绿色三角进行调试
终端若显示:终端将被任务重用,按任意键关闭。则已经生成exe文件成功
之后就可以调试运行了。
参考链接:
Visual Studio Code(VSCODE)语言设置
在VSCode中写简单的C++程序
Windows下搭建基于VScode+clang+MinGW的C++开发环境
Visual Studio Code如何编写运行C、C++?