VS Code本身就是一个编辑器,又是开源的(好像是吧),所以有十分多的语言可以用VS code编写,C语言也不例外。
刚好最近在学C语言嘛,由于DevC++调试功能在我的电脑环境下(Win10)无法正常使用,Visual C++
6.0过于老啦(虽然也能用),Visual Studio 2010系列,先不说它收费吧,就算你要调试一个Hello World都要新建一个工程,然后才能调试,很无奈。至于其他IDE,我没有过多研究,之前用的都是Sublime Text3写PHP的,奈何C在Sublime
Text3真的只是个编辑器,丝毫不带调试功能,所以也很鸡肋。
这个时候,Visual Studio Code 横空出世,他至少有以下的优点:
- 单个C代码不需要建项目便可以运行。
- 调试极为方便,变量信息一览无余,即便是单个C文件也是可以调试的。
- 有代码高亮、补全功能
- 这个很重要,界面很好看。
- 安装包只有60M不到,体积小
所以,综上所述,我们来折腾以下VSC(Visual Studio Code)吧!
1.在官方安装新版VSC,并安装。
官方:下载地址
PS:下载Stable版本即可,不需要下载预览版
2.汉化。
这里偷个懒,毕竟我也已经汉化完了,截图不了了。
参考百度经验,如有问题,下面留言吧!
链接地址:https://jingyan.baidu.com/article/a681b0de7654283b184346ea.html
3.安装Visual Studio Code C语言插件。
1)打开软件,左边栏找到那个方框一样的图标,搜索 C/C++ ,选择第一个安装即可。
4.安装MinGW编译器
官网下载地址:https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/
下载完成后,直接安装就好了,应该是没难度的
随后打开
先选择mingw32-gcc--g++-binmingw32-base-bin,然后选择菜单上的 [Installation] -> [Apply Changes] 静待安装完成即可(记得记住安装路径)。
PS:若无法安装,使用科学上网。
安装完成后,设置环境变量。
[我的电脑] -> [属性] -> 左侧的 ["高级系统设置"] -> [环境变量] -> [系统变量] -> [Path] -> [编辑]-> [添加] -> 填写你刚刚安装的MinGW的bin文件夹路径 例如:C:MinGWbin,确定即可。
至此,MinGW算是完成了安装。
5.写好Visual Studio Code的启动json文件
先打开一个文件夹,然后随便新建一个.c文件,然后按下F5(或者点击调试按钮).
需要注意的是:以后vscode需要调试的文件都需要放在此文件夹下的,否则需要重配编译器的json
随后选择 C++(GDB/LLDB)
在自动弹出的那个文件中,写入以下数据,注意修改gdb.exe的目录:
// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${fileBasename}: the current opened file's basename
// ${fileDirname}: the current opened file's dirname
// ${fileExtname}: the current opened file's extension
// ${cwd}: the current working directory of the spawned process
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"preLaunchTask": "build",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:/MinGW/bin/gdb.exe", // GDB的路径,注意替换成自己的路径
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}]
}
保存以后,再按下F5(或点击调试),弹出错误框,点击配置任务。
然后再随便选择一个就可以,会自动弹出一个tasks.json,填入以下内容,可以根据注释自行修改:
{
"version": "2.0.0",
"tasks": [
{
"label": "build", // 任务名称,与launch.json的preLaunchTask相对应
"command": "gcc", // 要使用的编译器
"args": [
"${file}",
"-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
"${fileDirname}/${fileBasenameNoExtension}.exe",
"-g", // 生成和调试有关的信息
"-Wall", // 开启额外警告
"-static-libgcc", // 静态链接
"--target=x86_64-w64-mingw", // clang的默认target为msvc,不加这一条就会找不到头文件;Linux下去掉这一条
"-std=c++17", // C语言最新标准为c11,或根据自己的需要进行修改
], // 编译命令参数
"type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令
"group": {
"kind": "build",
"isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
},
"presentation": {
"echo": true,
"reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档
"focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义
"panel": "shared" // 不同的文件的编译信息共享一个终端面板
}
// "problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去)
}
]
}
随后保存。
至此,所有环境配置就完成了,再次按下F5,试试程序是否可以正确的运行吧!
需要注意的是,由于有些程序(例如hello world)最后是没有暂停语句的,所以可能出现一闪而过的情况,解决这个情况可以使用在最后加上两个getchar()函数,我也不知道为什么是两个,有知道的虚心请教啊,也可以在最后添加一个断点。
至于断点什么的,都可以自己研究啦,添加断点的方式也是在行数前面单击即可,十分方便。
至此,一切都完成了,如果还有啥不懂,可以在下面留言。
PS:Sublime Text 3也可以添加编译系统,所以也是可以写C的,只不过目前我没有能否发现调试的方法。