VS Code C语言开发环境配置
由于安全上的要求,我司的开发环境比较复杂,涉及到Citrix非涉密/涉密桌面和远程Linux编译服务器等等,在这样的环境下用VS Code需要经过一系列的折腾,这篇文章简要记录了我最初的配置流程。
¶安装VS Code
首先,在非涉密桌面访问VS Code官网下载最新安装包,然后安装到Q盘中(重要!)。这是因为各种软件默认安装到的是被隐藏的C盘,而非涉密桌面环境中的C盘会在重启时被自动重置,你的软件就没了。
不要急着删除安装包,将它复制到T盘(直接剪切可能会报权限错误),转移到涉密桌面。如果之前你已经启动了涉密桌面,可以尝试用快捷键Ctrl + Alt + Tab
进行切换。
到涉密桌面环境后,安装VS Code——这次可以装在C盘里,涉密桌面的C盘是不会被重置的。注意,安装时会有几个选项,询问是否要加入右键菜单以及PATH等,请把所有的勾都勾上。
¶安装扩展
众所周知,VS Code最重要的是扩展。由于涉密桌面没有外网,我们要安装扩展只能先从非涉密桌面下载,再通过T盘转移。
但是,VS Code默认存放扩展的目录在C盘,这导致非涉密桌面一旦重启,你的扩展就会全部消失。所以,装扩展之前要先更改非涉密桌面中VS Code存放扩展的目录。
我没有在设置里找到直接修改的方法,但你可以通过以下的方法来间接修改。
首先进入VS Code的安装目录(没忘记装在哪了吧),新建一个文件夹,命名为extensions
。
在桌面上VS Code的快捷方式上右键打开属性(假如桌面上没有,就去安装目录里找到code.exe,右键发送->桌面快捷方式),找到目标(T)
一栏,在已有内容的后面添上:
1 | --extensions-dir "(你刚才创建的extensions文件夹的完整路径)" |
这实际上是为VS Code设置了一个启动参数,说明要从你新建的这个extensions
文件夹读取扩展,同时,你下载的扩展也会被放到这里。以后只要从这个快捷方式启动VS Code,不管重启VDI几次扩展都还在,因为extensions文件夹是在Q盘里的。
好了,接下来启动VS Code。
VS Code最左侧的边栏中有一个由四个方块组成的图标,那就是扩展管理。点击它后,你可以使用上面的搜索框寻找应用商店里的扩展,它们全都是托管在GitHub上的开源项目。
第一个要安装的是中文语言包,搜索Chinese
就有了。安装之后,按Ctrl + Shift + P
启动VS Code命令面板,输入language
,选择Configure Display Language
,将显示语言配置为zh-cn
。重启VS Code,令人安心的中文就出来了。
第二个是C/C++
扩展,它为C语言提供了IntelliSense代码补全、调试功能等等,搜索安装即可。安装完后,右下角还会出现一个小框,那是它正在安装几个依赖包。
第三个是Code Runner
扩展,安装它之后你的编辑器窗口右上会有个播放键,点击就可以运行代码了。对于C语言,它会调用gcc编译器将代码编译运行。对它的使用我目前还不熟悉,安装聊胜于无。
第四个是Bracket Pair Colorizer 2
,它将各组配对的括号用不同的颜色表示,
扩展安装全部完成之后,将你的extensions
文件夹整个通过T盘复制到涉密桌面里VS Code的安装目录下。
最后,在涉密桌面的快捷方式里也设置一遍启动参数,启动VS Code,你会发现扩展已经全部转移过来了。
¶安装编译器
你还需要一个编译器才能将C语言源代码转换成可执行程序。
在Windows平台使用比较广泛的是MinGW,它包含了著名的GCC编译器。但是在公司的网络环境下,下载MinGW十分缓慢,有没有别的办法?
Dev-C++是一个开箱即用的轻便C/C++ IDE,它也内置了我们需要的GCC编译器。我们可以借此来个“曲线救国”。为了让下载快一点,你可以到腾讯软件中心的网页版下载其镜像,进入链接后选择“普通下载”即可。
安装时的安装语言列表可能会有乱码,先选择English。安装完成之后出现引导界面,就可以选择简体中文UI了。
为了方便地使用GCC编译器,应该将其添加到环境变量。
先来到Dev-C++的安装目录,找到MinGW64\bin
文件夹,复制其路径。打开开始菜单,输入env
就能快速导航到环境变量设置。将之前复制的路径粘贴到PATH环境变量的末尾,一路确定保存,再新开启一个命令行输入gcc
试试。如果提示“fatal error: no input files”,就说明GCC的环境变量已经配置好了。
在VS Code中按Ctrl + ~
(即键盘左上角Esc下面的那个键)可以开启内置终端。默认的终端是cmd,但你可以将其改为pwsh
以使用几乎完全兼容cmd且功能强大得多的PowerShell。
¶测试一下
接下来,用VS Code打开一个文件夹,新建一个C语言源文件,随便写点什么,比如Hello World:
1 | # |
然后,在终端中执行gcc 源文件名 -o 输出文件名
,你的源码就被编译出来了。用命令行运行编译出的可执行文件,将在终端中输出Hello World!
。
¶最后
以上就是VS Code的基本。要进行调试其实也是可以的,但那个配置起来也相当麻烦,是另一个故事了(我自己也还没配好,鸽了)。
顺带一提,为了快速插入代码规范要求的源文件/函数注释,可以使用VS Code的“代码片段”功能,按Ctrl + Shift + P
启动VS Code命令面板,输入snippet
配置用户代码片段,选择C语言,使用方法已经写在文件注释里了。
得益于大量的扩展,还有很多好玩的东西。比如SSH扩展能让你在VS Code中直接连到编译服务器,此时VS Code的终端就是远程Linux服务器的终端,左侧的资源管理器也可以管理Linux服务器的文件。由于在Windows 7一类的老版系统里没有内置OpenSSH,要实现这个还得折腾一回,这里给出两篇相关文章:
Installing OpenSSH on Windows 7
如果依照上面的文章配置时出现问题,请看这里: