在课上教学用的是DevC++的环境学习C语言,但是在自己的电脑上我想使用VS Code来进行代码的编写和编译。不过配置环境没有那么简单,一边在网上搜一边实际测试还是花了我好久的,这里记录一下方法。

暂时无图,过两天补

基本环境

下载和安装软件

在一切配置开始之前,首先需要安装几个软件。

  • VS Code - 这里使用VS Code作为编辑器。
  • MinGW - 使用MinGW来安装在Windows下的编译器。

VS Code的安装没有什么好说的,MinGW安装的时候需要选择加入环境变量。如果没有的话,需要在下一步配置的时候进行添加。

配置软件

MinGW

安装之后运行MinGW你会看到一个英文界面,在右侧勾选所需要的编译器,如果你不知道勾选哪个就全都勾上,点击复选框然后选择“Mark for installation”,最后左上角选择“Installation”,点击“Apply Changes”,接下来会根据网速等5~20分钟不等的时间,之后就算是安装完成了。

需要注意的是,如果你在系统CMD输入gcc提示没有这个命令的话,那么你需要将<MinGW安装目录>/bin加入你的系统环境变量中,然后重新打开CMD确认gcc命令。

VS Code

中文包

打开之后左边选择“Extensions”图标(或者按Ctrl+Shift+X),搜索框搜索chinese,点击第一项右侧的“Install”按钮,然后在右下角点击“Restart”重启编辑器,这样中文就算是安装完成了。

C/CPP

搜索c,安装C/C++扩展,

单文件运行

在课程的前几节课都是单个.c文件运行,这样的话配置起来相对简单。

配置生成和编译任务

新建一个.c文件并用VS Code打开,选择顶部终端>配置任务>通过模板>Others,然后在打开的Tasks.json中清空并粘贴下面的内容:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "gcc.exe build active file",
            "command": "E:\\mingw\\bin\\gcc.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "E:\\mingw\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ]
        }
    ]
}

自行替换上面cwd后面的目录为你刚刚设置环境变量的目录,command为你的GCC可执行文件路径,注意路径杠号的转义

接着选择调试>添加配置,清空launch.json并粘贴下面的内容:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\mingw\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "gcc.exe build active file"
        }
    ]
}

老规矩,自行替换路径,注意转义。

这时候你可以试着开个新的C文件然后编译一下,新建.c文件输入:

#include <stdio.h>
int main(){
  printf("Hello World");
  system("pause");
  return 0;
}

然后点击F5,选择刚刚的配置,看看是不是如你所愿的运行了。

编译并运行工程(CMake)

其实DevC++就是使用CMake来编译工程的,我们如果需要在VSCode中运行多个C文件的工程也需要CMake的支持。

环境配置

在刚刚单文件的基础上,我们需要增加安装CMake软件。

  • CMake - 下载Windows win64-x64 Installer: Installer tool has changed. Uninstall CMake 3.4 or lower first!的一项然后安装。

安装好CMake后其实我们是不用再配置这个工具了,剩下的工作都是在VSCode中完成的了。

编辑器的配置

安装支持插件

​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌​‌​​​‌‌​‌​‌‌‌‍‌​‌​‌​​‌‍‌​‌​‌‌​​‍‌​‌‌‌‌​​‍‌​​‌​​​​‍‌​​‌‌​‌‌‍‌​​‌‌​‌​‍​‌‌​​​‌‌‌​‌​​‌​‍​‌‌​‌‌‌​‌​‌‌​​‌​‍​​​​​​​‌​​‌​​​‌‍‌​‌‌‌‌​​‍‌​‌​​​‌‌‍‌​‌‌‌‌​​‍‌​‌​‌‌‌‌‍‌​‌​‌‌‌‌‍​​​‌‌​​​‌​‌​​​​‍​‌​​‌‌‌​‌‌‌‌‌​​‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌‌‌​​‍‌​‌‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌​‌‌​​‌​‍‌​‌‌‌‌​​‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​​‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌‌‌​‌‍‌​​‌​​‌‌‍‌​​‌​​​​‍‌​​‌‌​​​‍‌‌​‌​​​‌‍‌​​‌‌‌​​‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​‌​‌‌​‍‌​​​‌​‌‌‍‌​​‌‌​‌​‍‌​‌​​​‌‌‍‌​​‌​​​​‍‌​​‌​​‌‌‍‌​​‌‌​‌‌‍‌‌​‌​​‌​‍‌​​‌‌‌​‌‍‌​​‌​​‌‌‍‌​​‌​​​​‍‌​​‌‌​​​‍‌​‌​​​‌‌‍‌‌​​‌‌‌​‍‌‌​​‌​‌​‍‌‌​‌​​​‌‍‌​​‌​​‌​‍‌​​‌‌​‌‌

在VSCode中并不原生支持CMake,我们需要搜索并安装下面几个插件。

  • CMake
  • CMake Tools
  • CMake Tools Helper

配置插件

安装并激活插件后,需要修改你的全局配置。按下Ctrl+Shift+P,输入settings,选择首选项:打开默认设置(JSON),在最下面粘贴几项设置:

    "cmake.cmakePath": "E:\\CMake\\bin\\cmake.exe",
    "cmake.mingwSearchDirs": [
        "E:\\MinGW"
    ],
    "cmake.generator": "MinGW Makefiles"

和上面一样,修改所有的路径为你实际的安装地址。第一个是CMake的可执行程序,后面的是MinGW的根目录,最后一个请不要改动。

配置项目

接着,如果你有C语言的项目的话你就可以按文件夹打开了,以前的Makefile会自动读取,如果没有的话右下角会提示你进行创建,你需要输入项目名字(用于生成exe的文件名)并选择类型为executable可执行程序,接着CMake工具插件会自动配置并生成Makefile。

这一步之后,你还需要做一个配置,你对每一个项目第一次都需要做的配置,在项目文件夹中打开刚刚生成的CMakeLists.txt文件,修改add_executable...(大概是第7行),括号格式:

add_executable(项目名字 所有.c文件,空格分隔)

例如我有main.ctimer.c,项目叫做alarm,那么我的这一行应该是:

add_executable(alarm main.c timer.c)

然后,你就配置完成了!

编译运行

点击左侧栏最下面新增的三角形CMake图标,选择右侧栏右上角的锤子按钮(Build),如果你的代码没有问题,那么在你项目目录的build子目录下会生成一个以你项目名字,命名的exe文件,无论是调试还是运行接下来就看你了。