目录

引言

1.下载以及配置MinGW环境

①下载

②解压后保存bin路径

③配置系统环境path变量

 2.下载vscode

 3.配置vscode相关的插件

4.正式配置vscode 

①降级C++版本

②ctrl + F5运行代码让他自动生成task.json和launch.json文件

③运行代码

④调试代码

5.对json文件大部分语句的理解(这条有助于你更好理解怎么配置) 

①关于launch.json 

②关于task.json

 6.对编码问题以及管理文件的建议

①中文乱码问题

②关于文件生成路径的问题

③关于中文文件无法运行的问题

④关于调出外部系统cmd终端闪退问题 

方法一 :在程序末尾加上system("pause")

方法二:在launch.json中的args添加内容

总结:

 演示时最后的json源码文件供参考:

①launch文件

②task文件 

引言

当我还是个小白的时候第一次配vscode的时候花了超级久的时间,网上的教程大多都是懒人式照搬,不同的电脑还可能出错,我在各个地方不断了解了vscode配置的一些原理和细节,希望能帮助到刚入门的小白!

开始之前请注意:你的用户名和接下来的路径名以及文件夹名一定不要有中文,不然会出错!!!

1.下载以及配置MinGW环境

①下载

MinGW官网下载地址MinGW官网下载地址

把网页滚到最下面部分,选择下载压缩包——x86_64-posix-sjlj(速度会快)

如果官网下的慢可以试试这个软件下载Internet Download Manager的最新免费试用版, 对于所有外网软件下载都很快.

 

这里x86_64是64位系统版本

i686是32版本

seh后缀是纯64位编译

posix一般用于跨平台,兼容性好

sjlj后缀的是32和64两种编译

这里不懂不纠结就直接下x86_64-posix-sjlj

②解压后保存bin路径

 下载后解压到一个比较简洁短的方便的路径上,后面配置环境会用到mingw目录下的bin路径.

 

如果你解压了不知道放哪了,这里推荐一款在电脑上搜索东西特别无敌快的软件:everything

官方下载地址:voidtools

 

 

 everything找什么东西都非常快,这里很推荐装一个.

③配置系统环境path变量

 这里以win11为例用个最简单的方法,按下win直接搜系统环境.

 

 这里推荐选择下面的系统变量的path,这样你如果创别的用户在电脑上也能用.

 

 2.下载vscode

 这里是官网下载地址:vscode官网下载地址

你也可以到电脑自带的Microsoft Store上下载.

 因为我下载过了所以没有弹出来路径设置,设置路径建议不要设在C盘,不然每次点开都有警告弹窗很烦的.

注意:刚下的vscode是英文的很正常,后面有教学怎么下载中文插件.

 

 3.配置vscode相关的插件

 这里列出我建议的插件列表:

1.Chinese(中文插件)

2.C/C++插件(这个必须得下了)

3.background(喜欢自定义背景的可以捣鼓一下)

4.One Dark Pro(很好看的一款主题)

5.Material Icon Theme(美化你的图标)

6.翻译(英汉词典)(英语差的可以考虑,选中代码中的单词就会显示翻译)

 

因为我已经下载好了所以是这样,正常搜索之后点安装就行了. 

4.正式配置vscode 

 

 

随便写个代码,这个时候是跑不起来的,这是因为没有配置json文件,下面分享一个绝对不会出错的方法,按步骤一步一步来非常详细.

如果你原来配置了有.vscode文件夹你可以删掉该文件夹重新按我下面说明的方法配置.

①降级C++版本

 进入刚刚下载的拓展C++那里,回退版本到1.8.4然后重新加载一下或者关掉重开vscode.

点击一下拓展插件的小齿轮进入设置.

 

②ctrl + F5运行代码让他自动生成task.json和launch.json文件

注意:每个.vscode文件夹只作用于当前的文件夹,也就是说新文件夹都要新生成.vscode才能使用.

先按ctrl + F5上面会出现选择调试器选项!

 

 

③运行代码

 到这里的时候你的vscode就已经可以跑代码了,他会显示在vscode下面的集成终端里.

 

④调试代码

 

这里我建议把C++插件重新升级到最新版不然每次代码出错不会有警告弹窗提示你. 

下面这个是我更新到最新版才有的警告弹窗,旧版不会有警告弹窗所以容易让你debug的时候出现问题.

 看到这里就大体上差不多了,剩下的是我对json大部分语句的理解以及如何优化更好的管理你生成的编译文件.

5.对json文件大部分语句的理解(这条有助于你更好理解怎么配置) 

launch是有关程序调试的部分,task是有关编译运行的部分

${fileDirname}意思是当前运行程序所在文件夹的路径

${fileBasenameNoExtension}当前文件去掉拓展名的名字

${fileDirname}\\${fileBasenameNoExtension}.exe合起来就是当前目录下编译执行的exe文件

注意这里的宏定义无法表达中文所以你文件名如果有中文就会报错(后面有解决方法)

①关于launch.json 

②关于task.json

 这里的args看下面cmd窗口的调用更加能理解里面的意思.

在当前目录下打开cmd窗口,输入上面的command中g++地址+空格+.cpp文件+空格+"-o"+ .exe文件.

 

 

这上面的步骤vscode都帮你做好了,这就是args里代码的用途. 

 6.对编码问题以及管理文件的建议

①中文乱码问题

因为默认编码是UTF-8,而我们的电脑不是,所以运行中文代码往往不行,这里介绍一个解决方法:在task.json的args里的"${fileDirname}\\${fileBasenameNoExtension}.exe"后面加上英文逗号然后回车到下一行,粘贴"-fexec-charset=GBK" 并保存即可.

 

②关于文件生成路径的问题

写一个文件马上又生成一个exe在同目录下,这样文件多了就会非常碍眼,这时候建议你在同目录下新创一个文件夹来存放生成的exe文件.

 

你也可以手打绝对路径例如上面那个可以写成:D:\\VS\\test\\all_exe\\${fileBasenameNoExtension}.exe.

 

③关于中文文件无法运行的问题

首先明确一点:可以解决但是会有弊端,先说解决方法.

 

 

把task中的 ${fileBasenameNoExtension}以及launch中的${fileBasenameNoExtension}都改成test.exe(这里随你便不是中文都行,改成1.exe还是a.exe什么的都行)

这样的弊端:

①以后运行文件只会生成你改成的exe文件并会不断覆盖,比如改成test.exe,这样vscode每次编译都只会生成test.exe且一直覆盖同一个exe.

②中文名的代码无法调试只能运行,系统检测不到断点.

④关于调出外部系统cmd终端闪退问题 

有的人喜欢自己调出外部的终端(在launch中将externalConsole修改成true),但是发现总是闪退看不到结果,这里提供了两种方法以及优缺点.

方法一 :在程序末尾加上system("pause")

优点是没有副作用,每次都会停下来看到结果,缺点是每次都要多打这一行.

方法二:在launch.json中的args添加内容

 优点是可以每次自动停留不会闪退,缺点是无法调试任何程序!!!

总结:

vscode是一款非常强大的编译器,但是很多小白往往因为配置方面而被劝退,如果我的文章帮到你了,给个关注点赞支持一下呗!如果有问题可以私信或评论我会解答!(若有错误欢迎指正!)

 演示时最后的json源码文件供参考:

①launch文件

//launch文件

{

"version": "0.2.0",

"configurations": [

{

"name": "g++.exe - 生成和调试活动文件", //名字在最下面那一条

"type": "cppdbg", // 不重要可以不知道,意思是你的配置类型

"request": "launch", // 现阶段不需要知道,不重要.

//"program": "${fileDirname}\\all_exe\\test.exe", // 可执行文件的路径,意思是执行哪个exe文件

"program": "C:\\WINDOWS\\System32\\cmd.exe",

"args": [

"/C",

"${fileDirname}\\all_exe\\test.exe",

"&",

"pause"

], // 不重要

"stopAtEntry": false, // 不重要

"cwd": "${fileDirname}", // 不重要

"environment": [], // 不重要

"externalConsole": true, // 意思是要不要启用外部的终端,false默认用vscode的集成终端,true就是调用系统的终端.

"MIMode": "gdb",

"miDebuggerPath": "D:\\VS\\mingw64\\bin\\gdb.exe", //调试调用gdb路径

"setupCommands": [ //往下不重要.

{

"description": "为 gdb 启用整齐打印",

"text": "-enable-pretty-printing",

"ignoreFailures": true

},

{

"description": "将反汇编风格设置为 Intel",

"text": "-gdb-set disassembly-flavor intel",

"ignoreFailures": true

}

],

"preLaunchTask": "C/C++: g++.exe 生成活动文件" // 为了调用task,在task中的label与这个对应.

}

]

}

②task文件 

{

"tasks": [

{

"type": "cppbuild",

"label": "C/C++: g++.exe 生成活动文件", // 与launch中的"preLaunchTask"对应匹配.

"command": "D:\\VS\\mingw64\\bin\\g++.exe", //编译器g++的路径

"args": [

"-fdiagnostics-color=always", //不清楚

"-g", //调试功能,没有的话就检测不到断点.

"${file}", //当前编译器打开的文件的名字(例如刚刚的1.cpp)

"-o", //运行指令

"${fileDirname}\\all_exe\\test.exe", //运行的.exe文件指令.

"-fexec-charset=GBK"

], //往下都不重要.

"options": {

"cwd": "${fileDirname}"

},

"problemMatcher": [

"$gcc"

],

"group": {

"kind": "build",

"isDefault": true

},

"detail": "调试器生成的任务。"

}

],

"version": "2.0.0"

}

对MinGW下载后缀解释参考了:VsCode安装和配置c/c++环境(超完整,小白专用)_vscode安装c++运行环境_黄化的多多的博客-CSDN博客

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: