VScode-配置C/C++
环境
准备工作
下载并安装相应软件
- 下载 VScode 最新版,第一次使用 VS Code 是你应该知道的一切配置,按照这篇文章安装相应插件
- 下载并安装 MingW-64,验证是否安装好 MingW,验证方式: 命令行 cmd,输入
g++ -v
,``gcc -v,gdb -v
若输出一大段信息,则说明安装成功(此处不详述,自行百度)
添加 MingW 环境变量
- 环境变量
- windows 环境下,右键点击此电脑 -> 属性 -> 高级系统设置 -> 高级 -> 环境变量打开如下图所示窗口 2. 点击新建添加一个环境变量,点击编辑修改一个环境变量,变量名和变量值设置时,不要含有空格,也不要使用中文,多个路径之间使用; 分隔。通常情况下用户变量一经修改后会立即生效,而系统变量需要重启电脑后才能生效,对于正在运行的程序需要关闭后再重新运行,新设置才能生效
- 添加 MingW 环境变量
将
Mingw
所在的bin
文件夹添加到环境变量的path
中去,比如我将 Mingw 下载到了 E 盘,添加环境变量示例如下:
工作空间设置,只针对当前项目有效。比如说我们可以在这里面要求当前项目的代码统一使用制表符,而不需要要求每一个团队成员去修改各自的配置文件。
- 验证
MinGW 安装并导入文件后,其中包含了 C 与 C++这两个编译环境,操作:win + R
,输入cmd
进入命令行模式,输入gcc --h
和g++ --h
,(h 前面有两个 -
)具体操作如下:如未出现,可以尝试重启电脑;
vscode 全局变量
- {workspaceRoot} VS Code 当前打开的文件夹 - ${file} 当前打开的文件 - ${relativeFile} 相对于 workspaceRoot 的相对路径 - ${fileBasename} 当前打开文件的文件名 - ${fileDirname} 所在的文件夹,是绝对路径 - ${fileExtname} 当前打开文件的拓展名,如.json - ${cwd} the task runner’s current working directory on startup
.vscode
文件夹的作用
在项目的根目录下新建一个
vscode
文件夹,说明这个文件夹代表的是当前项目的配置工作空间设置,只针对当前项目有效。比如说我们可以在这里面要求当前项目的代码统一使用制表符,而不需要要求每一个团队成员去修改各自的配置文件。
lunch.json
kotlin
复制代码
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,cppdbg对应cpptools提供的调试功能;可以认为此处只能是cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}/${fileBasenameNoExtension}.o", // 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,相当于在main上打断点
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,此为工作区文件夹;改成${fileDirname}可变为文件所在目录
"environment": [], // 环境变量
"externalConsole": false, // 为true时使用单独的cmd窗口,与其它IDE一致;18年10月后设为false可调用VSC内置终端
"MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。
"setupCommands": [
// 模板自带,好像可以更好地显示STL容器的内容,具体作用自行Google
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build",
"windows": {
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"miDebuggerPath": "E:\mingw-w64\mingw64\bin\gdb.exe" // 调试器路径,Windows下后缀不能省略,Linux下则不要
},
"osx": {
"externalConsole": true
}
}
]
}
tasks.json
bash
复制代码
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "process",
"command": "g++",
"args": [
"-g",
"-Wall",
"-std=c++14",
"-lm",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.o"
],
"presentation": {
"echo": false,
"reveal": "silent",
"showReuseMessage": false
},
"problemMatcher": "$gcc",
"group": {
"kind": "build",
"isDefault": true
},
"windows": {
"args": [
"-g",
"-Wall",
"-std=c++14",
"-lm",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
]
}
},
{
"label": "run",
"type": "shell",
"dependsOn": "build",
"command": "${fileDirname}/${fileBasenameNoExtension}.o",
"presentation": {
"focus": true
},
"group": {
"kind": "test",
"isDefault": true
},
"windows": {
"command": "${fileDirname}/${fileBasenameNoExtension}.exe"
}
}
]
}
settings.json
json
复制代码
{
"files.exclude": {
"**/*.o": true,
"**/*.exe": true,
"**/*.class": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
}
}
注意
- 如果你想要使用以上配置文件,请将 lsunch.json 文件中的调试器路径改为你的相应路径示例如下
- “miDebuggerPath”: “E:\mingw-w64\mingw64\bin\gdb.exe” // 调试器路径,Windows 下后缀不能省略,Linux 下则不要
用户设置和工作空间设置
- 用户设置:这种方式进行的设置,会适用于该用户打开的所有工程/实例
- 工作空间设置:工作空间是指使用
VScode
打开的某个文件夹,在该文件夹下会创建一个名为。vscode
的文件夹,保存着项目的相应设置。工作空间的设置会覆盖用户的设置。 - vscode 的配置文件 setting.json 的 UI 界面或者 json 形式
-
UI 界面
- 进入设置界面,按下快捷键
Ctrl + ,
进入设置,可以选择用户设置或者工作区设置
- 进入设置界面,按下快捷键
-
json 形式界面
- 按下快捷键`Ctrl + Shift + P``,输入 Preferences: Open User Settings 或 Preferences: Open Workspace Settings。可以进入相应设置。
每个人都有自己的偏好,在使用 VS Code 进行开发时,都会根据自己的习惯来对 VS Code 进行用户级别的配置。但是,当多人共同完成某个项目的时候,该项目会有一定的编码规范,如: 编辑某个语言时的设置,代码的缩进等等,这个时候就需要对该项目进行单独的工作空间级别的设置。
在 UI 界面中,将鼠标放到设定左边的空白位置会显示出一个齿轮,其中有重置设定/复制设定/复制设定到 json 三个选项. 因此在团队协助中, 可以很轻松地分享项目的特定设置.
- 参考文章,除上述之外,还有针对特定的语言的编辑设定,以及安全性设定,现在暂时不深入研究
牛刀小试
- 快捷键设置→ 参考文档
常见错误
- 找不到.exe 文件,大概率是以为文件名包含中文,去除文件名中的中文即可
- 其他错误参考文章 → zhihu
总结
- 安装完
MingW
并添加环境变量之后,我们其实是可以直接编程的,但是你必须要会要学会一些基本 shell 命令,比如你写了一个A.cpp
文件,在命令行中输入g++ A.cpp
就会在当前目录下编译生成一个A.exe
的可执行文件,此时你点击运行 exe 文件即可运行(一步操作:g++ -o A.cpp
也可)。如果你想要调试,命令行gdb A.exe
; - 以上就是在命令行界面中简单的编译运行一个 c++ 文件,其实 VScode 本质是一个编辑器,想要利用他来编译运行调试 C++文件,我们就必须配置几个文件,让他自动帮我们输入一些命令,并实现 UI 界面;如果给编辑器配置上编译环境,那么那就是一个 IDE(集成开发环境)
- 配置完环境变量一定要测试一下是否成功,不成功可以重启电脑再测试
- 报错的时候能将错误的关键要点找出来,否则上网也找不出是啥原因
- 一些关键词:GCC、gcc、g++、gdb、MingW、clang、MSVC
题外话
我们都知道 Python 是一门了不起的编程语言,它改变了编程的游戏规则,将编程的格局提升到了一个完全不同的层次。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
在下个十年的剩余时间里,Python 还能如此重要以及保持完整性吗?今天,我们将对事实进行分析,破除一些误解。
①最适合初学者学习的编程语言
对于没有编程经验的初学者来说,Python 是一种很棒的入门编程语言。Python 简单易学上手快,对于任何人来说,即使是没有编程或编码经验的人,尤其是那些打算在数据科学、人工智能、机器学习等领域进一步发展的人来说,Python 都是较好的入门方式。
②人气和社区支持
Python 是世界上第二流行的语言,在撰写本文时,仅次于 JavaScript。这种人气似乎不会很快下降。Python 还有一个很棒的社区,提供了持续性更新和新版本。一般来说,Python 社区有很多老师,为了改进 Python,他们不断地进行更新。
③在人工智能 / 数据科学领域占主导地位
Python 的专长在于执行可视化任务、探索性数据分析,当然,在机器学习、深度学习、神经网络等方面的人工智能领域也是如此。可以通过 Python 模块和库访问的各种框架,有助于解决机器学习和深度学习复杂的问题。
Python被热门领域广泛应用
学习者就业优势明显!
说到Python的优势,就不得不提这句玩笑话:Python除了不会生孩子,其他的都会。
Web开发、网络爬虫、数据分析、人工智能、自动化、云计算、网络编程、游戏开发等领域,统统都应用了高效的Python!
而功能如此强大、高效的Python,却非常的简单好学,这让学它的同学爱不释手,也让越来越多的互联网企业开始用Python来做主要的开发语言,比如谷歌、Facebook(现Meta)、豆瓣、知乎等知名互联网公司都在使用Python进行开发。
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
因篇幅有限,仅展示部分资料
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要 📦《全套Python学习资料》的,可以扫描下方二维码免费领取 🆓
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓