为VSCode配置C语言编程环境


这差不多算是我写blog这么久以来写的最良心的一个教程了
(・∀・(・∀・(・∀・*)

近期我班开课C语言程序设计,本来是件挺开心的事,但是上课的时候让我们用Visual C++ 6.0来写。这俗话说得好,编程的时候每没个趁手的IDE,编程效率都要大幅降低(沃·兹基硕德),干脆直接给弟兄们来个全套VSCode套装,顺便记录一下如何给VSCode搭好C语言的编程环境

依赖安装

最首先的,既然我们要用VSCode,我们得先安装上VSCode。下载可以前往官网下载或者直接在本站下载(64位)
接下来,为了我们能够顺利使用GCC,我们需要安装MinGW。下载可以前往SourceForge下载(慢到爆炸)或者在本站下载(64位)
另外,如果遇到提示.NET Framework的问题,请安装.NET Framework,在弹窗中直接点击是会跳转至在线安装器,个人建议下载离线版安装包进行安装。离线版安装包下载可以前往官网下载或者直接在本站下载(64位)

VSCode及必要插件处理

安装VSCode

下载完VSCode的安装包之后,双击打开,然后直接一波无脑下一步就好。但是中间有一步需要注意,在第三次点击下一步之后会来到下图这个页面,这个页面的所有选项请全部勾选。
注意勾选
之后点击下一步,等待完成安装即可。

必要插件

在VSCode完成安装之后,运行VSCode,找到页面左侧的一个有四个方块的图标,点进去,在左上输入框里输入Chinese(Simplified),下方会显示一个名叫Chinese (Simplified) Language Pack for Visual Studio Code的插件,点击它右下角蓝色的Install按钮安装插件,这个插件用于VSCode的界面汉化。完成安装之后,在页面右下角会弹出一个窗口,点击Restart按钮重启程序,重启后界面将汉化。
汉化处理
重启结束,再次来到刚刚安装插件的地方,在输入框里输入C/C++之后下面会出现一个同名的插件,同样的方法进行安装,安装完成后无需重启。
C语言插件安装

安装MinGW并构建C语言编程环境

MinGW安装

下载完MinGW的压缩包之后,将压缩解压到没有中文的文件目录下,一般建议解压到C:\Program_Files_(x86)下并将解压出的文件夹重命名为MinGW。
解压步骤

构建C语言编程环境

完成解压之后,我们开始构建C语言的编程环境
*注:本安装示例中,我们将以C:\Program_Files\MinGW作为示例安装位置。
接下来请严格按照教程顺序进行操作,以防止环境构建失败

  • 找到C:\Program_Files\MinGW\bin并记下这个目录位置;
  • 回到桌面,右键点击此电脑图标,选择属性,进入控制面板界面;
  • 点击页面左侧的高级系统设置弹出系统属性对话框并选择第三个高级选项卡;
  • 点击对话框最下方的环境变量按钮;
  • 在弹出的环境变量设置界面下的系统变量部分找到Path,双击打开;
  • 点击弹出的新对话框的右侧的新建按钮,在出现的输入框中输入C:\Program_Files\MinGW\bin,接着一路点击确定到回到控制面板界面;
    添加步骤
  • 同时按下键盘上的Win+R,弹出运行窗口,输入cmd并回车打开命令提示符;
  • gcc -v -E -x c++ -粘贴进命令行并回车运行,如显示和下图一致的内容则构建完成。
    检验步骤

至此,C语言的编程环境完成构建。

为VSCode构建C语言编程环境

接下来请严格按照教程顺序进行操作,以防止环境构建失败

  • 打开VSCode,点击页面最左侧的第一个纸张样式图标;
  • 选择打开文件夹,选择/新建一个你喜欢的文件夹作为你的编程工程文件夹,例如D:\Clang
    选择文件夹
  • 选择完成之后新建一个名为.vscode的文件夹,位置应位于例如D:\Clang\.vscode,注意,最前面的点不能丢;
  • .vscode文件夹中新建三个文件,分别命名为c_cpp_properties.jsonlaunch.jsontasks.json;
    三个文件
  • 新建完成之后将以下三段文字分别复制到对应文件中:
  • 以下为c_cpp_properties.json
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    {
    "configurations": [
    {
    "name": "Win32",
    "includePath": [
    "${workspaceRoot}",
    "C:/Program_Files/MinGW/include/**",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
    ],
    "defines": [
    "_DEBUG",
    "UNICODE",
    "__GNUC__=6",
    "__cdecl=__attribute__((__cdecl__))"
    ],
    "intelliSenseMode": "msvc-x64",
    "browse": {
    "limitSymbolsToIncludedHeaders": true,
    "databaseFilename": "",
    "path": [
    "${workspaceRoot}",
    "C:/Program_Files/MinGW/include/**",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
    "C:/Program_Files/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
    ]
    }
    }
    ],
    "version": 4
    }
  • 如果你的MinGW的安装位置和示例的不同请记得把上面这个json中的全部C:/Program_Files/MinGW/换成你的安装位置
  • 以下为launch.json
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
    "version": "0.2.0",
    "configurations": [
    {
    "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
    "type": "cppdbg", // 配置类型,这里只能为cppdbg
    "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
    "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
    "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
    "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
    "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder
    "environment": [],
    "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
    "MIMode": "gdb",
    "miDebuggerPath": "C:/Program_Files/MinGW/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
    "preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
    "setupCommands": [
    {
    "description": "Enable pretty-printing for gdb",
    "text": "-enable-pretty-printing",
    "ignoreFailures": false
    }
    ]
    }
    ]
    }
  • 如果你的MinGW的安装位置和示例的不同请记得把上面这个json中的全部C:/Program_Files/MinGW/换成你的安装位置
  • 以下为tasks.json
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    {
    "version": "2.0.0",
    "command": "gcc",
    "args": [
    "-g",
    "${file}",
    "-o",
    "${fileBasenameNoExtension}.exe"
    ], // 编译命令参数
    "problemMatcher": {
    "owner": "cpp",
    "fileLocation": [
    "relative",
    "${workspaceFolder}"
    ],
    "pattern": {
    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
    "file": 1,
    "line": 2,
    "column": 3,
    "severity": 4,
    "message": 5
    }
    }

至此,VSCode的C语言编程环境也完成了构建。
接下来,你就可以在D:\Clang中进行C语言的编程了,例如新建一个helloworld.c并运行:

1
2
3
4
5
6
7
8
#include <stdio.h>
int main(void)
{
printf("Hello Wold!\n");
system("pause");

return 0;
}

"Hello World!"
好了,开始你开心的编程之旅吧~