VSCode配置C/C++教程
使用VSCode优雅的书写C/C++代码
- 本文基于Windows系统
- 超详细VSCode安装教程(Windows)
- 博主的VSCode专栏:分享使用VS Code的基本操作与各种技巧
我的编程之路与大多数人一样,是通过大学中的第一门编程课“C语言”开始的
那时候,老师推荐的是两款轻量级的C语言编译器:Dev C++,Visual C++ 6.0,这两款C语言编辑器确实容易上手,但是
- VC 6.0是1998年的古老产品,在如今流行的操作系统中有各种兼容问题,我一开始就抛弃了它
- Dev C++对于新手学习C语言是个不错的工具,但是通过它上手C语言后,由于它提供的功能着实有限,无法满足我日益增长的需求,我就像个渣男一样打算把她抛弃了
- 后来通过网络了解到有一个功能十分强大的C语言标准IDE:Visual Studio,但是这玩意版本太多,体量庞大,一个C语言刚刚入门的学习者使用Visual Studio就像大炮打蚊子,没必要;也像小屁娃子耍大刀,力不从心;Visual Studio着实让那是刚刚入门编程的我眼花缭乱、头晕眼花,于是最终还是回到了Dev C++的怀抱
直至今日,微软推出的VSCode逐渐流行起来,尝试下载使用之后,发现体验非常不错;
VSCode虽然只内置了JavaScript, TypeScript 和 Node.js,但是它有非常丰富的其他语言的插件扩展系统
It comes with built-in support for JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes (such as .NET and Unity).
遂打算使用VSCode配置C/C++环境,满足我偶尔的C语言编程需要,同时也将这个过程记录下来,希望能帮助大家
目录一:Microsoft C/C++ extension
- 打开VSCode
- 点击侧边栏的Manage extensions图标
- 搜索C/C++,点击install即可
在 C/C++ for Visual Studio Code (Preview) 中,明确说明此插件不包括C++编译器或调试器,需要下载C++编译器(除非你电脑上已经有C++编译器)
The C/C++ extension does not include a C++ compiler or debugger. You will need to install these tools or use those already installed on your computer.
目录二:GCC via Mingw-w64 on Windows
第一步:下载Mingw-w64
对于Window用户,官方推荐了两个C++编译器(补充:C++兼容C):
我选择下载的是GCC via Mingw-w64 on Windows,
- 官方下载链接,等待5秒即可下载,下载的是一个压缩包
- 蓝奏云链接:x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z
- 注意:Mingw-w64下载解压后,存放的文件夹路径名中不能出现空格!
假设安装在:D:\mingw-w64
第二步:配置环境变量
右键此电脑 > 属性 > 高级系统设置 > 高级 > 环境变量
选中Path,点击编辑
还要点击多次确定哦,将刚刚打开的页面全部通过确定关掉
假设我的安装路径为:D:\mingw-w64
,则配置的环境变量为:D:\mingw-w64\bin
第三步:检查
win + r,输入cmd,在控制台中分别输入以下命令
g++ --version
gdb --version
如此即可说明,下载成功了(如果看不到预期的输出,或者g ++或gdb不是可识别的命令,即失败可以在评论区问我)
目录三:建立C++工作区
一:新建一个文件夹用于存放你编写的c++代码,位置自己决定,不建议放到桌面
我直接将文件夹取名为 C++
二:用VSCode打开C++文件夹
-
最干脆的办法:选中文件夹 > 鼠标右键 > 通过Code打开
-
如果VSCode没有注册到你的右键菜单中,你就老老实实的打开VSCode > file > open folder
三:在工作区C++中先创建一个c++文件,保证后续操作的成功
四:生成tasks.json文件
tasks.json文件调用g ++编译器,基于源代码(c++文件)创建可执行文件(exe文件)
主菜单中选择Terminal > Configure Default Build Task
在下拉列表中,列出了C ++编译器的各种预定义构建任务,
选择g++.exe build active file
那么,VSCode会自动在工作区下生成tasks.json文件,放在.vscode文件夹下
一般,需要在args数组中加入编码设置,不然中文输出是乱码
"-fexec-charset=GBK"
四:编译c++代码
假设我要运行test.cpp
- 回到test.cpp窗口
- Terminal > Run Build Task
生成可执行文件
并且在代码编辑去下方出现集成终端面板
五:执行c++代码
在VSCode中运行可执行文件,VSCode会提示你安装PowerShell插件,按照提示安装即可
这里大概率会遇到一个问题:无法加载文件 ******.ps1,因为在此系统中禁止执行脚本
你可以看一下我找到的一篇文章,清晰明了的讲解原因并给出了解决办法
-
在集成终端面板中,打开PowerShell终端
点击 + 即可 -
在终端中输入
.\test.exe
回车
六:一次性编译多个C++源文件
默认生成的tasks.json文件,一次只能编译当前C++源文件,
将tasks.json文件中:args数组中的"${file}"
改为${workspaceFolder}\\*.cpp
,可以一次性编译工作区下所有C++源文件
目录四:建立C工作区
与上述操作重复度极高
- 要么重复上述操作,但是要选择gcc.exe build active file
- 要么直接修改C++工作区中tasks.json文件中的两个值
"label": "g++.exe build active file"
改为"label": "gcc.exe build active file"
;
"command": "mingw64路径\\bin\\g++.exe"
改为"command": "mingw64路径\\bin\\gcc.exe"
mingw64路径:你安装mingw64的路径,记得要写双斜杠
目录五:Debug
一:生成launch.json文件
启动GDB调试器
打开VSCode,Run > Add Configuration…
选择C++(GDB/LLDB)
- 如果是C工作区,在下拉列表中选择:gcc.exe build and debug active file
- 如果是C++工作区,在下拉列表中选择:g++.exe build and debug active file
那么,VSCode会自动在工作区下生成launch.json文件,放在.vscode文件夹下
- 默认情况下,C ++扩展不会在源代码中添加任何断点,
将"stopAtEntry"
的值改为true
,在启动调试时使调试器在main方法上停止 "cwd": "${workspaceFolder}"
,调试程序时的工作目录为工作区文件夹;值改成${fileDirname}
可变为文件所在目录
目录六:简单讲讲 Microsoft C/C++ extension 的 Details
点击VSCode的插件管理中的C/C++
- 这个扩展插件是一个在github上开源的项目
- Repository,插件在github上的仓库
- Issues,插件在github上的问题讨论区,可以提交bug、提交解决方案
- Documentation 文档,其实指向的网页就是VSCode官方文档对此扩展插件介绍的子页面
- Code Samples 代码示例,我们可以通过github看到插件的新特性
This sample is a simple C++ program that computes and outputs the volume of a box.
We use this example in our blog posts to illustrate new extension features.
- Offline Installers 脱机安装程序,名字可能不好理解,其实就是在VSCode中安装插件失败了,请直接到github上把插件下载下来,手动安装打VSCode中
Visual Studio Live Share 是正在推广中的一个插件,直接跳过
然后 Overview and getting started,Quick links,Questions and feedback,就是上面提到的网站的细化导航
Offline installation,教你如何手动安装此插件
Microsoft Open Source Code of Conduct,微软开源准则
Data and telemetry,这个插件会收集用户的数据,传给微软用来改善用户体验,反正我是无所谓的
This extension collects usage data and sends it to Microsoft to help improve our products and services.
参考文章:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)