因为贪图VSCode的美丽与简洁
,所以就在网上找了好多的教程,最终结合个人的经验,写出来供大家参考。
(本文主要参照官方英文文档,做了部分修改)
首先是需要安装的程序:
VSCode(Visual Studio Code):https://code.visualstudio.com
MinGW-w64( Minimalist GNU on Windows ):https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
Clang:http://releases.llvm.org/download.html(可选,我没装)
一、首先是安装VS Code,直接去官网
根据自己的电脑选择32位还是64位程序,安装时可以自定义安装位置也可以默认位置安装。
官网链接:https://code.visualstudio.com/
二、然后是下载MinGW-w64,由于国内特殊原因,不推荐下载前面的在线安装包(MinGW-W64 Online Installer),拉到表格下面,找到MinGW-W64 GCC-8.1.0,然后根据电脑的配置, 电脑系统是 64位 的,就选择 x86_64,如果你的电脑是 32位 系统,则选择 i686。我们是要开发 Windows 程序,所以选择 win32 (而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix),然后是选择异常处理模型:
如果电脑是64位的,那么选择seh就好,seh 是新发明的,而 sjlj 则是古老的。seh 性能比较好,但不支持 32位。sjlj 稳定性好,支持 32位。
如果电脑是32位的, 则可以用 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,可它不支持 64位 。( 32位建议选择 dwarf )
同样,下载完之后就可以选择一个位置解压。接着要把路径添加到系统环境变量:
打开解压的目录,比比如说我安装在D:\Program Files\,那么我就打开D:\Program Files\mingw64\bin
点击上边地址栏的空白处,会显示当前的路径,Ctrl + C复制
然后右键点击我的电脑,选择属性,打开如下窗口,并点击高级系统设置
点击变量
找到Path(每个人里边的内容并不一定相同,但不影响)并双击打开,单击新建(N)
将刚才复制的地址(我的是D:\Program Files\mingw64\bin)粘贴进去新建的那个输入框
然后就是一直点确定返回上一级了。
下面来检验是否成功:按住Windows键(windows图标那个)+ R,打开运行窗口,输入 cmd 按回车,打开命令窗口,输入 gcc -v
然后回车,出现一大堆代码,看到最后一行给出 gcc version 8.1.0 (x86_64-win32-seh-rev0, Built by MinGW-W64 project)
类似的就表示成功了。(gcc -v检查的是C语言的编译器,也可以输入 g++ -v
,这是C++所需要的)
三、配置VScode相关文件
- 安装相关插件
怎么设置中文就不再此文多说了,对默认的英文界面不感冒的朋友可以自己搜一下相关教程。
本教程所需要安装的插件只有一个(后面会有推荐安装的插件,非必须):C/C++(也就是有些教程里的cpptools)
单击在左边栏目里边的拓展,直接搜索就有了。 - 然后跟着官方文档的来。
- 先是创建一个用来存放代码文件的文件夹(路径不能含有中文和空格和引号),然后再VS Code中打开这个文件夹。
- 在文件夹下面创建一个
.vscode
的子文件夹 - 按Ctrl + Shift + P打开命令面板,输入
C/C ++
,在弹出来的选项中选择 这将打开“ - 找到编译器路径设置。VS Code会根据在系统上找到的内容尝试使用默认编译器。它首先查找MSVC编译器,然后在Windows Subsystem for Linux(WSL)上查找g ++,然后在Mingw-w64上查找g ++。如果安装了Visual Studio或WSL,则需要在此处更改编译器路径。如果使用Win32线程和SEH异常处理在 D:\Program Files\mingw64下安装Mingw-w64版本8.1.0,则路径应如下所示:D:\Program Files\mingw64\bin\gcc.exe。这个路径填的是你自己的解压的路径。
- 其实上面的设置都是比较无聊的,因为下面我会给出一段代码,需要打开
c_cpp_properties.json
文件,然后全选覆盖下去:
{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "${vcpkgRoot}/x86-windows/include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "windowsSdkVersion": "10.0.17763.0", "compilerPath": "D:/Program Files/mingw64/bin/gcc.exe", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4}
- 接下来,创建一个
tasks.json
文件来告诉VS Code如何构建(编译)程序。该任务将调用gcc编译器以基于源代码创建可执行文件。 - 从主菜单中,选择 查看>命令面板,然后输入
task
,然后选择“ 任务:运行生成任务”。在下拉列表中,选择从模板创建 tasks.json 文件,然后选择其他。VS Code将创建一个最小tasks.json
文件,并在编辑器中将其打开。 - 用以下代码片段替换整个文件内容(每个代码后面基本都有注释,可以按照自己的需求稍微修改):
{ "version": "2.0.0", "tasks": [ { "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应 // process是vsc把预定义变量和转义解析后直接全部传给command;shell相当于先打开shell再输入命令,所以args还会经过shell再解析一遍 "type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令 "command": "gcc", // 要使用的编译器,c语言就是gcc,c++就是g++ "args": [ "${file}", "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out "${fileDirname}/${fileBasenameNoExtension}.exe", "-g", // 生成和调试有关的信息 "-Wall", // 开启额外警告 "-static-libgcc", // 静态链接libgcc,一般都会加上 //"--target=x86_64-w64-mingw", // clang的默认target为msvc,不加这一条就会找不到头文件;用gcc或者Linux则注释掉这一条 "-std=c11", // C++最新标准为c++17,或根据自己的需要进行修改 ], // 编译命令参数 "group": { "kind": "build", "isDefault": true // 不为true时ctrl shift B就要手动选择了 } "presentation": { "echo": true, "reveal": "always", // 执行任务时是否跳转到终端面板,可以为always,silent,never。具体参见VSC的文档 "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译C/C++来说,设为true没有意义 "panel": "shared" // 不同的文件的编译信息共享一个终端面板 } } ] }
- 接下来,我们将配置VS Code以在您按F5键时启动GCC调试器(gdb.exe)。
官方文档做法繁琐还有弊端(不细说),这里我们直接在.vscode目录下新建一个文件叫做launch.json
。 - 打开文件并把下面的代码复制然后粘贴进去保存(同样,大部分代码行后面都有相应说明):
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", // 配置类型,这里只能为cppdbg 调试器类型:Windows表示器使用cppvsdbg;GDB和LLDB使用cppdbg。该值自动生成 "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)//调试方式 "targetArchitecture": "x86", // 生成目标架构,一般为x86或x64,可以为x86, arm, arm64, mips, x64, amd64, x86_64 "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径 "miDebuggerPath":"D:/Program Files/mingw64/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应 "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可 "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${workspaceFolder}", // 调试程序时的工作目录,旧版VSCode为${workspaceRoot}即代码所在目录 "environment": [], //环境变量(没懂) "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台 //"preLaunchTask": "g++" // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc "MIMode": "gdb", "setupCommands": [ {// 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": false }, ] } ]}
最后检查一下,现在你的.vscode
文件夹应该包含如图所示的三个文件:
三、然后在资源管理器空白处单击右键,新建文件,保存为.c文件就可以开启你的VS Code写C语言之旅了哦。
tips:需要在其它文件夹写代码的话,只需要把.vscode
文件夹复制过去就可以了哦。
四、最后,推荐几个拓展:
- Bracket Pair Colorizer 2
彩虹色的花括号,反正我很喜欢。- Include Autocomplete
自动填充头文件。- One Dark Pro
在用的一个主题- Code Runner
据说很好用,但是我不用。。。