Hello,小可爱们,今天来个vscode搭建c/c++开发环境的教程,希望可以帮到你们。话不多说,冲冲冲!!!
一、vscode的下载安装
直接去官网下载即可 https://code.visualstudio.com/
关于下载安装,还要说几点要注意的:
1.进入官网后滑到底部,可以选择需要的系统版本或安装方式,当然也可直接点击醒目的download(对,没错,就是接下来的这个图片。),进行下载,不过个人喜欢下拉的zip,虽然一般IDE压缩包比较大,但一般比较方便,且不会少什么东西
2.安装过程很简单,如果是在不会,直接“傻瓜式安装即可”。。。。在安装过程中,记得勾选上红色部分内容,创建桌面快捷方式根据个人喜好自行进行选择。
**二、下载完成之后,你还需要有C/C++需要的编译器、调试器等玩意,(挺多的,也挺麻烦。。。)**下载一个mingw64,由于一些原因,它的下载印象中是比较慢的,这里就直接把压缩包给大家了,建议直接C盘根目录,如图,方便快捷,好像是的吧。。
解压后,复制bin目录路径,设置系统环境变量Path,这个很简单,实在不会的百度一下,配置后,测试是否成功,打开命令行,出现以下结果即可mingw64链接: 提取码:3i0a
三、打开vscode,安装所需的插件基本的就是箭头勾选的,其他根据自己的需要来。(重启后生效)
打开code-runner右键扩展设置,选择控制台输出,因为本质的输出没什么意义,不允许用户进行输入。。。所以选择控制台
四、关于中文乱码问题
打开code runner右键扩展设置,选择在settings.json中编辑
再次点击左侧code runner,下拉复制代码部分,粘贴到settings.json中,注意每个语句后加分后,防止乱码,改动框选住的内容,修改 即可,代表使用utf-8编码格式
五、创建相关json文件
点击创建launch.json文件后,选择C++(GDB/LLDB),然后选择g++.exe build and debug active file,然后会发现在当前文件下生成.vscode文件,里边你有launch.json文件,打开,我们可以在里边配置一些启动的参数
shift+Ctrl+p(win系统下),输入tasks,一般情况下是会有提示的,如果没有,输入tasks:configure task,即最终选择任务:配置任务,选择g++.exe build active file,会发现.vscode文件夹下又多了一个tasks.json文件,其中的大部分参数默认即可,如果需要其他的,可以根据自己的需要进行添加或编辑,如图所示,添加语句,便于使用c++17标准,当然你也可以填写c++20(目前最新版)
PS:建议事先可以先写好一个程序,以便检查,注意创建的时候必须要写后缀名,C语言为.c,c++为.cpp(关于创建文件前边已经说过,您可以选择再去看一眼吧)
六、关于一些其他的问题
1.关于终端
打开launch.json文件如果将箭头所指的false改为true,代表使用外置的终端,即和Windows的cmd一样,
独立于IDE,如果使是false,代表使用内置的终端,(个人认为内置的就可以了,也方便,当然根据自己的需要来,
如果改为true运行程序时,有闪退,那么在程序结束前添加system(“pause”)即可
2.关于c/c++标准设置
打开设置,左下角和手机设置一样logo图标。。。找到扩展C/C++,里边有自动代码保存,格式化等设置,这里主要设置一下c++的标准,防止写新版的c++代码出现一堆报错,如下,根据自己需要选择c++标准,建议选择c++17或c++20,紧挨着的还有c的标准,选择c11即可
3.关于调试:直接在对应行号处点击即可,出现小红点
4.关于创建文件:
如果以下图标没有,则可以在查看部分选择资源管理器,鼠标悬停,有新建文件、新建文件夹(建议先建一个文件夹,当然你也可以打开要存放项目的磁盘,在里面新建文件,到时候再在vscode中打开文件夹即可,就像这样
5.关于运行:
可以在当前程序处右键选择第一个run code,也可根据自己的设置设置成这样
6.关于c++代码格式
vscode默认风格:打开c/c++扩展设置后使用的是微软自带的(大括号换行)
使用以下时(大括号不换行)
七、好东西要一起分享,虽然在你看来这可能不是什么好东西。。(委屈巴巴)
八、你是不是懒了??
如果自己配置太麻烦,可以直接复制粘贴到对应文件中(如果出现问题,可以下你没有我却有的插件试试。。难受)以下是博主自己的,有问题留言评论,看到后及时回复
1.1.launch.json(所有文件记得路径要跟自己的一样,不要以为复制粘贴万事大吉。。)
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"internalConsoleOptions": "neverOpen",
"MIMode": "gdb",
"miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file"
}
]
}
2.tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "g++.exe build active file",
"type": "shell",
"command": "C:\\mingw64\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-std=c++17"
],
"group": "build",
"options": {
"cwd": "C:\\mingw64\\bin"
},
// Use the standard MS compiler pattern to detect errors, warnings and infos
"problemMatcher": "$gcc"
}
]
}
3.C/C++扩展设置中的settings.json文件(进入扩展设置后,下拉,会有在settings中进行编辑,点击即可进入编辑界面)
{
"code-runner.ignoreSelection": true,
"code-runner.executorMap": {
"javascript": "node",
"php": "C:\\php\\php.exe",
"python": "python",
"perl": "perl",
"ruby": "C:\\Ruby23-x64\\bin\\ruby.exe",
"go": "go run",
"html": "\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
"c": "chcp 65001 && cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
},
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.autoSave": "afterDelay",
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"files.autoSaveDelay": 500,
"code-runner.languageIdToFileExtensionMap": {
},
"code-runner.saveAllFilesBeforeRun": true,
"files.associations": {},
"code-runner.runInTerminal": true,
"html.format.contentUnformatted": "",
"python.dataScience.codeRegularExpression": "abcdefghijklmnopqrstuvwxyz.",
"C_Cpp.clang_format_sortIncludes": true,
"C_Cpp.default.cppStandard": "c++20",
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.browse.path": [],
}