1,VScode是什么?
Visual Studio Code 简称 VS Code,是一款跨平台的、免费且开源的现代轻量级代码编辑器。它功能强大,提供了丰富的功能和扩展性,几乎支持主流开发的特性。
VSCode里面有对应的插件安装功能,我们可在里面安装各种插件,将其打造成各种各样的开发工具,这一点下面会提到。
2,VScode的下载和安装
下载:
VS Code一般有两个版本:【稳定版】和【体验版】。这里建议下载【稳定版】,因为【体验版】更新太过频繁,同时还存在一些bug。
VS Code官网下载地址:https://code.visualstudio.com/
进入官网后会出现以下界面,这里可直接点击 Download for Windows 直接下载Windows版本的,也可以在右上角点击 Download 选择下载具体的系统版本(根据自己电脑系统选择)
进入Download下载后将会出现以下界面,这里可根据系统来进行选择下载哪个版本,然后点击下面的下载符号即可下载对应的安装包。
安装:
VS Code的安装是一种中间没什么好说的,中间只需无脑的 “勾选” + “下一步” 即可,这里需要说的是中间的安装路径选择可自由分配,之后出现的 “选择附加任务” 建议把 “创建桌面快捷方式” 勾选上,其它选项全部勾选,如下图:
3,环境的介绍
安装中文插件:
VS Code一开始安装好之后界面全是英文的,要想将其转换成中文需要安装一个中文插件,具体的方法请看此篇文章:VS Code 中文插件的安装
除此外,我们还可以在VS Code的插件管理上安装中文插件。
VSCode左边的侧边栏中点击插件管理,搜索:Chinese,显示的第一个插件就是汉化包,直接安装即可。(补:在插件管理中可以进行系统自带的环境选择,方法跟安装汉化包一样)
安装完汉化包后,立马会在右下角提示需要重启的信息,点击restart就会重启VSCode,即可英译汉使用。
4,VS Code配置C/C++开发环境
VS Code毕竟是一个高级的编辑器,只能用来写代码,不能直接编译代码。所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,最基础要有编译器的使用。为了方便,这里我们就使用 MinGW-w64,它是一个移植到了Windows平台下的gcc编译器。
MinGW-w64编译器套件的下载:
下载地址:https://sourceforge.net/projects/mingw-w64/files/
注意:进入下载链接后不要直接点击下面绿色的下载,要找对应的版本。如下图:
错误下载
正确下载
下载完后会得到一个经过专门压缩过的文件包,此时解压此压缩包里文件即可(该文件夹的名称:mingw64)。这里建议把 mingw64文件夹放在一个简单的目录里且路径的名字不要有中文、空格、特殊字符等,如:C盘活D盘的根目录里。
配置MinGW64:
在Windows电脑上,按win + s快捷键,或者直接在搜索栏中搜:环境变量,就能看到,如下
这里需要将上面解压出来的mingw64里的bin路径放到环境变量中。bin目录里都是一些类似于gcc编译器等,具有相应功能的可执行文件,如下:
然后就不断点击 “确定” 即可完成mingw64环境变量的配置,也就是说这时我们在任意路径下,使用命令行模式使用MinGW-w64相应的功能了。
下面我们可以打开windows窗口下的命令行,输出:gcc --version,查看MinGW-w64中的gcc编译器版本说明和输入:where gcc,查看MinGW-w64中的gcc编译器的路径,若出现下面类似的信息说明配置成功。
安装C/C++插件:
要在VSCode上编译代码,除了编译器外,还要在VSCode的插件管理上安装C/C++插件,如下图:
注意:在VSCode插件管理里面安装完插件后,一定要重启VSCode,让前面的设置插件生效,要不然后面会出现各种问题。
5,在VSCode上编写C/C++代码
在VSCode编写代码,首先要建立起存放代码的文件,最好设置一个专门存放代码文件目录的目录,这里我把全部存放代码的目录放在 D:\Code 路径下。接下来需要在资源管理器上点击 “打开文件夹”,选中专门写代码的文件夹。这一步是每次编写代码的必要操作,这里我以:D:\Code\test_day1 演示。
注意:以上全部文件夹和文件的命名,最好不要有中文、空格、特殊字符等,否则很容易后续出问题。
第一次操作时会弹出“信任文件夹”的操作,这里要勾选信任并选择信任。如下图:
下面以编写C语言为例(C++文件也行),我们需要在打开的目录下新建一个C语言的文件(.c为后缀),之后即可编写C语言代码。
6,编译并运行C/C++代码
设置C/C++编译的选项:c_cpp_properties.json
鼠标在.c源文件的内部,按 ctrl + shift + p 快捷键,会在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面。有些版本的VSCode可能不会直接显示出,这时需要我们在上面搜索栏中输入进行查找,然后点击进入进行配置,如下:
选中指定规格后将会出现.vscode,里面的c_cpp_properties.json文件存放的是一系列C的编译选项说明。
创建执行任务:tasks.json
要编译代码,我们接下来要在VSCode上的【终端】中点击:配置任务,然后选中:C/C++: gcc.exe 生成活动文件,生成tasks.json文件(它是一个C语言编译配置的文件)。
编译程序
完成以上步骤后,下面就可以编译并生成可执行程序了。具体操作有两步:1,鼠标点在要编译的C语言代码中。2,执行【终端】->【运行生成任务】。3,选中出现的 “gcc.exe编辑器”即可生成。
执行程序
按键盘【ctrl】+【`】快捷键,打开VSCode自带的终端,这时输入:.\[可执行程序的名字](“.”表示当前目录,此时输入表示的意思是执行当前目录下的可执行文件)。即可执行代码,如下图:
7,再次编译并运行一个C/C++代码
方法一:
新建文件。如果你的代码还是单独的一个.c 文件,在当前打开文件夹中就可以编写,那直接在当前打开的文件中新建.c文件,编写代码,对当前的代码直接执行【终端】->【运行生成任务】,步骤跟第一次的一样。这里原本有关编译配置的tasks.json文件和编译选项的c_cpp_properties.json文件都不用变,因为编译运行规则都是一样的。如下图:
方法二:
如果你要写的代码需要单独文件夹管理,那就再次打开新的文件夹来编写代码,编译和执行了。比如:新的代码需要放在test_day2的文件夹中管理。
新建文件夹test_day2
这里我们在 D:\Code 目录下新建文件夹test_day2,然后在VSCode上面【文件】中选择关闭文件夹,打开新建的test_day2文件夹,在里面新建C语言文件编写。
那么下面问题来了,难道我们仍需要进行第一次时的复杂流程吗?答案是不需要。我们第一次生成的一系列配置.vscode文件夹,可以直接复制到新的文件夹test_day2中,这时,我们在VSCode中的TEST_DAY2中就能看到,如下图:
这时,我们只需对代码编译:【终端】->【运行生成任务】,然后执行即可,方法是一样的。
8,编译一个工程中的多个C语言文件
假设有一个工程multiple_files,里面有多个文件需要编译,如:add.c文件中是函数的定义,test.c文件中是使用自定义函数的源文件,编译时两个C文件都需编译,这时,同样需要生成有关C语言编译的配置文件夹.vscode(若其它C语言文件夹中已配好可直接复制过来使用)。
注意:若是直接将其它单独管理一个C语言文件的目录里面的.vscode 复制过来,编译选项c_cpp_properties.json文件没什么好说的(都是C语言的编译说明),但是编译配置的tasks.json文件是在编译过程中真正需要的编译选项配置,比如说编译时需要哪些配置步骤,因此我们需要改造tasks.json文件。
改造tasks.json文件
编译多个源代码文件:
通过把"${file}"(“file”指的是要编译的文件,“${file}”指的是点击哪个就会编译哪个文件)修改为"${workspaceFolder}\\*.c"(“workspaceFolder”指的是打开空间的文件夹,如上面的MULTIPLE_FILES。“ * ”表示通配符。"${workspaceFolder}\\*.c"表示此时文件夹路径下的所有C语言文件都要编译),可以构建当前工作区中的所有C文件。
通过把"${file}"修改为"${workspaceFolder}\\*.cpp",可以构建当前工作区中的所有C++文件。
修改编译输出的文件名:
代码经过编译后就形成了可执行文件,编译一个项目下的多个源文件代码时显然不能形成多个可执行文件。这时,我们需要修改tasks.json文件里面编译输出的文件名。
通过把"${fileDirname}\\${fileBasenameNoExtension}.exe"(“${fileDirname}”表示源文件的名字。“${fileDirname}\\${fileBasenameNoExtension}.exe”表示在源代码文件路径下,形成可执行文件的名字跟源文件的名字相同)修改为:"${workspaceFolder}\\myProgram.exe",可以把编译输出的文件名硬编码为myProgram.exe,而不是与C语言同名。具体效果请看图一。
通过把 "${fileDirname}\\${fileBasenameNoExtension}.exe" 修改为:"${workspaceFolder}\\${workspaceRootFolderName}.exe",可以把编译输出的文件名为:打开的工作区文件夹名字.exe。具体效果请看图二。
上面两大步骤修改后就要在【终端】执行【运行生成任务】编译所有文件,然后再按键盘【ctrl】+【`】快捷键,打开VSCode自带的终端运行程序即可。
图一
图二
9,VSCode运行C++代码
若我们按照编译C语言程序的方式编译C++文件,可发现系统会报错。我们安装的目录mingw64里面的工具目录bin其实也有C++的编译器g++,这里直接配置g++编译器即可。
配置g++.exe为编译器
鼠标在.cpp的源文件内部,按下【ctrl】+【shift】+【p】快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,这些步骤跟之前C语言的一样。
下面,进入设置页面找到【配置名称】,点击【添加配置】,填写配置的名称,这里可以随意填写,因为只是一个名称而已,但为了直观一点,建议写上:C++,然后点击【确定】,如下图。
随后,在下面的【编译器路径】中选择使用mingw64目录里bin目录下的g++编译器工具。
IntelliSense模式仍然选择:gcc-x64(legacy) 模式。下面的【C++标准】这里根据需要自行选择,对于目前的市场使用来看建议选择C++11或更高的标准。
配置完后可在配置说明文件c_cpp_properties.json中看到有关下图的C++配置说明。
下面,我们要生成C++编译配置文件tasks.json,方法跟C语言的一样,但需注意的是,若这里原先是C语言形成的tasks.json或将C语言的配置文件拷贝了过来,需要按照生成tasks.json文件的操作执行一下(【终端】+【配置任务】),中间选择的时候要选择【C/C++: g++.exe 生成活动文件】在原有的tasks.json配置文件中增加C++编译的配置,我们可在tasks.json配置文件中观察到
若是想再次编译C++代码或编译一个工程中的多个C语言文件,修改的方法跟C语言的一样,但要注意这里修改的是C++的配置选项,具体做法再说明。
10,VSCode的调试
VSCode上的调试关键是依赖一个叫做 launch.json的配置文件,下面来具体说明。
创建 launch.json配置文件
首先要点击左右边的【运行和调试】(对应【ctrl + shift + d】快捷键),然后选择【创建 launch.json 文件】,这时要在弹出的窗口中选择【C++(GDB/LLDB)】,此时会在资源管理器的代码文件夹中形成launch.json配置文件,但里面并无任何相关信息,需要我们往里面添加配置。
配置launch.json文件
launch.json文件的右下角有个【添加配置】,选择后会出现以下信息。
这里需要增加一个【C/C++:(gdb)启动】,之后就会在此文件里生成默认的调试配置信息,这些信息需要修改一部分。
首先修改的就是:"program": "输入程序名称,例如 ${workspaceFolder}/a.exe",在"program"后面输入要调试程序的名称。这里可直接把tasks.json编译配置文件中生成对应名称的可执行文件语句直接复制过来,如:上面 的"${workspaceFolder}\\${workspaceRootFolderName}.exe"和"${fileDirname}\\${fileBasenameNoExtension}.exe"。
最后要修改的是:"miDebuggerPath": "/path/to/gdb","miDebuggerPath"表示调试工具,后面要跟具体工具的路径,需自己补充。mingw64目录下的工具目录bin里面有调试工具gdb.exe,这里只需要把gdb.exe对应的路径填写上面即可。注意,路径符号要使用双斜杠“\\”,表示转义字符,不能按原本的单斜杠“\”,否则就会被识别为字符‘\’。如: "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe"
开始调试
VSCode的调试跟VS的调试是非常相似的。当launch.json文件生成后,我们只要打断点开始调试就行。具体的调试快捷键和VS系列的IDE是一样的,一个项目中也不能存在两个main函数,如下:
F9:打断点/取消断点。鼠标也可在左边点击选择断点,跟VS一样。
F5:启动调试。
F10:逐过程调试。
F11:逐语句调试。
当启动调试后,我们可以使用监视窗口查看变量等程序执行过程中的信息。如下图: