VSCode搭建C开发环境 新手教程

介绍

VS Code可以作为一个轻量级开发的文本编辑器,VSCode提供了许多插件,让开发效率和可玩性变得很高。

VS Code开发场景如下:

  • 前端
  • 后端语言,如:C/C++,C#,Java等
  • 嵌入式开发:STM32,C51,ARM等

像Java应该用IDEA和Eclipse,轻量级还是可以用的。如果学习C还是首选VS Code吧。

如果是嵌入式开发,强烈建议使用VS Code,刚开始上手可能需要几天,但是一旦熟悉,强大的代码补全(Auto Completion)和变量提示(Parameter Hints)等特性让开发效率比Keil要高得多。但是目前版本,针对GBK2312编码的文件,在Parameter Hints时,会出现乱码。将文件编码改为GBK2312也没用。

References

Doc

Documentation for Visual Studio Code【官方文档】:如果你看得懂英文或能耐心看英文的话,许多问题的答案都可以在文档中找到。官方文档写得很详细也很系统。

Visual Studio Code Variables Reference【官方文档】

Visual Studio Code User Interface【官方文档】

插件篇

VSCode 必装的 10 个高效开发插件 - 慕课网的文章 - 知乎

装上这几个 VSCode 插件后,上班划水摸鱼不是梦 - GitHub Daily的文章 - 知乎

讨论VSCode的使用,一定要结合具体的使用场景进行讲解,接下来讲解的是利用VSCode搭建搭建C语言开发环境。

搭建C/C++开发环境

C/C++开发环境就是g++和gdb。

官网文档有详细说明如何搭建C/C++开发环境的VSCode步骤,英文说明请参考这里。再多提一句,文档教程真的很简单,文档会教你如果检测g++和gdb安装情况,如何下载并安装,如何安装VS Code C/C++插件,如何编写第一个HelloWorld(自己按C或C++语法编写一个小Demo,可不参考文档代码),如何Build,如何运行和Debug。

你也可以参考Visual Studio Code 如何编写运行 C、C++ 程序? - 谭九鼎的回答 - 知乎

如果你不想看官方文档,按我下面的教程来可以。

GCC环境搭建

安装MinGW

Download File List - MinGW - Minimalist GNU for Windows - OSDN
在这里插入图片描述

下载并安装mingw-get-setup.exe,一直下一步即可。默认的安装路径不要修改,应该是C:\MinGw

安装完成后,选择计算机 - 属性 - 高级系统设置 - 环境变量,在系统变量Path中追加C:\MinGw\bin

打开cmd,输入mingw-get.exe,出现MinGw installation manager窗口,说明安装正常,关闭窗口。

cmd输入

mingw-get install g++

安装g++完成后,输入

mingw-get install gdb

安装gdb,这样GCC环境搭建完成了。

如何检测g++和gdb?

g++ --version
gdb --version

出现版本信息就代表安装成功。

安装C/C++ extensions for VS Code

CTRL + SHIFT + X进入扩展程序,输入C++,安装

第一个程序

这里以创建C语言的源程序为例哦。如果创建C++请参考官方文档,或者按我的教程来,然后把所有配置文件的gcc.exe改成g++.exe就可以了。

创建目录

创建一个文件夹名为VSCode-C-Lib,进入文件夹后,创建一个文件夹名为Demo1

进入VSCode-C-Lib/Demo01目录,在该目录下创建一个名为.vscode的文件夹。

回到Demo1目录,创建main.c,其路径为VSCode-C-Lib/Demo01/main.c

#include <stdio.h>

int main() {
    printf("hello world!\n");
    return 0;
}

Build main.c

创建一个task.json,该文件会告诉VS Code该如何编译程序。这个task

创建方法:Terminal > Configure Default Build Task。在下拉栏中选出C/C++: gcc.exe build active file

在这里插入图片描述

点击确定,会发现VSCode-C-Lib/Demo01/.vscode会出现一个task.json的文件夹,这时候按CTRL+S保存文件。

默认的task.json内容如下

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "C/C++: gcc.exe build active file",
			"command": "C:\\MinGW\\bin\\gcc.exe",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "C:\\MinGW\\bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

${file}:当前打开的文件。

${fileDirname}:当前打开的文件的所在目录。

${fileBasenameNoExtension}:当前打开的文件的不带后缀名的文件名。

接下来可以运行task,进行编译源文件。

第一步,先选中文件,即切换到main.c视图。

这一步很重要,因为${file}、${fileDirname}、${fileBasenameNoExtension}这些参数都是基于当前打开的文件,也就是说如果你不切换到当前视图,可能程序无法编译。

在这里插入图片描述

第二部,Terminal > Run Build Task(CTRL+SHIFT+B),开始编译程序。

在这里插入图片描述

这里就算完成了,接下来打开新控制台,在此之前,先设置默认Terminal(控制台)。

第三步,设置默认控制台。

选择PowerShell

好了,可以打开控制台了,Terminal > New Terminal(CTRL + SHIFT + `)

第四步,运行程序。

出现运行task后编译出来的程序了,以.exe结尾。

接下来,运行程序,输出./main

这样就完成源文件的编译和运行了。

Debug main.c

创建一个launch.json,该文件会告诉VS Code如何运行GDB调试器。当配置该文件后,按下F5可以运行DEBUG。

Run > Add Configuration…

接下来会创建一个launch,json的文件,内容如下,

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "gcc.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "gcc.exe build active file"
        }
    ]
}

${workspaceFolder}:打开的文件夹的路径。在这里应该指的是Demo1,如下图,

切换到main.c所在的文件视图,打上断点,然后选择Run > Start Debugging(F5)。如下图,

20200409215847171

效果如下,

DEBUG就介绍到这,DEBUG详细内容自行百度或查看官方文档。

关于编译和运行C程序的建议

不管是Run Task或者Start Debugging都是基于切换到当前文件视图执行的。

修改task.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: gcc.exe build active file",
            "command": "C:\\MinGW\\bin\\gcc.exe",
            "args": [
                "-g",
                "${workspaceFolder}\\*.c", //打开的目录下的.c文件
                "-o",
                "${workspaceFolder}\\myProgram.exe"	//打开的目录下输出myProgram.exe,这是一个硬编码方式
            ],
            "options": {
                "cwd": "C:\\MinGW\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
    ]
}

这样,没切换到当前文件,也能直接运行编译而不报错。

如果我要写第N个程序目录该如何创建

比如写C项目到Demo2,那么我只需要复制VSCode-C-Lib/Demo1/.vscode文件夹,然后复制到Demo02中就行了。

在这里插入图片描述

VS Code的配置都是可以局部配置优先。因此编写不同的语言,可以指定不同类型的.vscode,然后新建同类工程目录时,复制对应同类的.vscode文件夹就行了。哈哈,多方便啊。

个人推荐的插件

在这里插入图片描述

由于我喜欢IDEA中的Material Theme主题,所以我VS Code也安装了,注意安装Material Theme后,Material Theme IconsCommunity Meterial Theme会一并安装。

如果你不喜欢,可以安装Atom One Dark Theme

推荐的全局配置

CTRL+,进入全局配置。

更改显示字体大小。

建议开启自动保存,这样修改文件内容后就不用CTRL+S了。

在这里插入图片描述

开启提示。

如果你需要这些扩展程序和全局配置都云同步,那么请你下载Visual Studio Code - Insiders

20200409214010596
到此结束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章