我们需要两个东西:编辑器和编译器
1. 编辑器vscode,到官网Visual Studio Code - Code Editing. Redefinedcode.visualstudio.com/下载安装(直接安装就行):
注意下面几个选项(建议全部勾上)
2.编译工具 MinGW
编译工具选用GCC(全称GNU Compiler Collection 意思是GNU编译器套件),不过不是原版的GCC,它是在Windows下GCC的特制版MinGW(全称Minimalist GNU on Windows)。它实际上是将GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。
我们下载安装的是MinGW-w64
下载地址:mingw-w64sourceforge.net/projects/mingw-w64/files/
在下载界面找到这个:
下载后是一个压缩文件,将它解压缩得到mingw64文件夹,然后把它拖动到一个路径不含中文的位置【地址中有中文编译时可能报错】,推荐F:\mingw64【也可以放到VS code安装的文件下,我就是放到VS code 软件下,到时候卸载软件,可以一并删除】
解压后可以打开mingw64\bin文件夹,里面有很多后缀名是.exe 的可执行程序,这些就是开发时所需的工具,如:
gcc.exe 是C语言程序的编译器,
g++.exe 是C++语言的编译器,
gdb.exe 是用来调试程序的 debug 工具。
还有一些常用的头文件也里面,如stdio.h的位置在mingw64\x86_64-w64-mingw32\include中
最后,为了让程序能访问到这些编译程序,需要把它们所在的目录(我这里是F:\Microsoft VS Code\mingw64\bin,点击地址栏进行复制)添加到环境变量Path中。
方法一:
1.找到 此电脑 -> 鼠标右键点击 ->选择 ‘属性’ 选项
2.然后点击 ‘ 高级系统设置’
再点击 “环境变量”
接下来看是否安装成功:
1.打开CMD窗口:
2.输入gcc --version指令,回车。出现以下界面,说明安装成功。
现在,我们的电脑里已经有了这两个东西,他们是从不同的地方下载的,安装的位置也不同,目前两者之间还没有任何联系,接下来,我们应该去搭建起他们之间的桥梁了
开始进行 vscode 的文件配置
tasks.json:task是任务的意思,我们的编译和运行就是我们想要vscode执行的任务,为此我们要在tasks.json里写两个task:Build
和Run
(这里为什么不是Compile
呢?是因为从源码到可执行的过程中不仅是编译(Compile),还有预编译、链接等过程,用构建(Build)来表述更合适)。除了编译和运行,我们还需要进行调试(Debug),这个就不是通过task来实现的了,而是通过launch.json
文件来实现。
现在,打开vscode,发现全是英文,我们先装个汉化插件:
然后搜索C/C++安装这个插件,这是对语言的支持插件
1.新建一个文件夹C_Single
2.重启vscode,打开C_Single文件夹【注意要 文件->打开文件夹 这样打开,vscode中打开的根目录是C_Single】
然后新建.vscode
文件夹(注意前面有个.
),然后在里面新建tasks.json
和launch.json
复制粘贴下面的内容分别到你的文件里【注意里面有一些路径之类的东西需要你进行修改】
tasks.json
launch.json
到这里就已经成功了!!
下面我们写个简单的hello程序来试一下编译、运行、调试:
1.在C_Single下新建一个exercise文件夹,来组织源码文件,在exercise下新建hello.c
文件;
2.在exercise下建一个bin文件夹(注意从属关系,不要建错了,在vscode中想在某个目录下新建文件/文件夹要先点击一下该目录,再点击新建按钮),hello.c中输入如下代码:
写好后ctrl+s
保存,进行如下操作:
·仅编译(构建),用快捷键ctrl+shift+B
,你会发现终端面板打开了,显示如下:
没有报错,bin文件夹下多了hello.exe,编译成功!
·编译(构建)+运行,测试任务默认没有快捷键,我们自己绑定一个:点击左下角小齿轮->键盘快捷方式->搜索任务
->找到运行测试任务
,点击左侧加号添加键绑定,这里我们设为shift+enter
,
然后回到我们的hello程序页面,按下shift+enter,显示如下:
输入你的名字,按下回车,运行成功!
·接下来是调试(vscode的调试功能非常直观易用,你会爱上它的),在第一个printf处打上断点(点击行号前面的小红点,或者用快捷键F9
),然后打开左侧的运行面板,点击绿色小三角开始调试(或者直接用调试快捷键F5
)
然后会出现调试工具栏,各按钮功能如图:
左侧可以查看、监控变量
我们使用单步调试按钮,快捷键F11
,单步向下执行程序,黄色箭头所指示行是现在未执行、下一步将要执行的语句,当执行到输入语句时,黄色箭头会消失,这时你在终端面板内进行输入,然后按回车,黄色箭头重新出现,可以继续向下执行。
调试成功!
今后就可以新建源文件写程序,F4
一键编译运行,F5
一键开始调试
· 中文乱码
乱码问题是由于文件编码格式引起的,vscode默认的编码格式是UTF-8,而Windows的终端的默认编码是GBK,这就造成了中文会显示成乱码,解决办法是生成程序时指定用GBK,我们的task里已经指定了,所以理论上你不应该出现这个问题
· 找不到头文件
正确添加了环境变量的话,不应该出现这个问题
·“终端将被任务重用,按任意键关闭终端”
按照我们在task中的设置,每次执行一个task就会打开一个新的终端面板,你可以在下拉列表查看自己打开的面板:
如果你把task的"panle"属性改成了"shared",所有的任务都用的这一个终端,vscode会提醒你“终端将被任务重用”,这句话并不是报错,只是提醒,你无视它就好,而且在设置里还可以关闭这句提醒。
关于code runner
你可能在很多其他人的教程里见过它,这是一个第三方的插件,用它也可以实现编译运行,原理也是代替你手动输入命令行,也需要一定的配置。不过我觉得按照我的方法已经能很简单便捷地实现编译运行调试了,没必要再用这个插件。
我们已经搞定了C_Single,多文件的C_Multiple的设置也类似,只需要改一下那两个配置文件涉及到路径的部分,文件如下,你可以对比一下:
多文件tasks.json
多文件launch.json
两个文件夹有不同的配置,写单文件时就打开C_Single,写多文件时就打开C_Multiple,注意对应的文件结构。
有一点要注意,在写多文件时,包含自己写的头文件要用双引号,而不是尖括号,例如#include "myHeader.h"
,双引号表示先在当前目录下寻找头文件。
vscode的一大优点在于插件生态丰富,通过插件可以扩展很多功能。这里推荐几个:
· one dark pro
主题插件,好像是下载量最多的主题插件,整体配色比较和谐。(vscode在颜值方面真的很能打)
· Material Icon Theme
一套精心设计的图标,可以让你的文件/文件夹更有辨识度
· Code Time
可以多维度的记录你在vscode上花的时间,可以用这个插件记录你码代码的时间,比如你可以定个类似每天编程2小时之类的目标,督促激励自己学习编程。
·Power Mode
这是一个炫酷的插件,可以给你敲代码的过程添加特效,效果炸裂,具体操作可以看插件详情页。
还有其他很多有用有趣的插件,你可以看看别人的推荐帖。
另外vscode还有其他很多功能,比如快捷键、小地图、搜索查找替换、代码片段、集成git等等,你可以慢慢探索。
「艾尔登法环」梅琳娜手办开订 立体手办▪
万代「艾尔登法环」白狼战鬼手办开订 立体手办▪
「夏目友人帐」猫咪老师粘土人开订 立体手办▪
「五等分的新娘∬」中野三玖·白无垢版手办开订 立体手办▪
「海贼王」乌索普Q版手办开订 立体手办▪
良笑社「初音未来」新手办开订 立体手办▪
「黑岩射手DAWN FALL」死亡主宰手办开订 立体手办▪
「盾之勇者成名录」菲洛手办登场 立体手办▪
「魔法少女小圆」美树沙耶香手办开订 立体手办▪
「咒术回战」七海建人粘土人登场 立体手办▪
「五等分的新娘」中野二乃白无垢手办开订 立体手办▪
「为美好的世界献上祝福!」芸芸粘土人开订 立体手办▪
「公主连结 与你重逢」六星可可萝手办开订 立体手办▪
「女神异闻录5」Joker雨宫莲手办开订 立体手办▪
「间谍过家家」约尔・福杰粘土人登场 立体手办▪
「街角魔族 2丁目」吉田优子手办开订 立体手办▪
「火影忍者 疾风传」旗木卡卡西·暗部版粘土人登场 立体手办▪
「佐佐木与宫野」宫野由美粘土人开订 立体手办▪
「盾之勇者成名录」第2季拉芙塔莉雅手办开订 立体手办▪
「咒术回战」两面宿傩Q版坐姿手办开订 立体手办▪
「DATE·A·BULLET」时崎狂三手办开订 立体手办▪
「狂赌之渊××」早乙女芽亚里粘土人开订 立体手办▪
「魔道祖师」魏无羨粘土人开订 立体手办▪
「新·奥特曼」奥特曼手办现已开订 立体手办▪