介绍
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)。如下图,
效果如下,
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 Icons
和Community Meterial Theme
会一并安装。
如果你不喜欢,可以安装Atom One Dark Theme
。
推荐的全局配置
按CTRL+,
进入全局配置。
更改显示字体大小。
建议开启自动保存,这样修改文件内容后就不用CTRL+S
了。
开启提示。
如果你需要这些扩展程序和全局配置都云同步,那么请你下载Visual Studio Code - Insiders
到此结束。