(LeetCode)使用Vscode编译运行和调试C/C++及体验优化
使用Vscode编译运行和调试C/C++及体验优化
一、安装visual stdio code
1、首先在微软官网下载并安装好visual stdio code
2、因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此首先需要安装一个C/C++编译器并且设置环境变量,这里使用mingw-w64。
二、安装mingw-w64
因为网络问题mingw-w64很难下载,建议先离线下载然后手动添加环境变量
离线版下载地址:Download x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z (MinGW-w64 - for 32 and 64 bit Windows)
1.下载后选一个合适的位置解压,解压后的文件结构如下:
2.打开解压文件夹,点入其中的bin文件夹,并复制路径
3.打开电脑设置,进入环境变量配置页面,找到系统变量中的Path变量,点击编辑
4、点新建,然后把刚刚复制的bin文件路径粘贴进去
5、验证mingw是否可用
打开终端页面,输入gcc -v,如若出现版本信息就意味mingw调试成功。如果未出现版本信息则需要再检查一下操作流程。
三、安装vscode插件
1、打开vscode后点击左侧栏“扩展”选项,进行插件搜索
2、搜索一下插件
- chinese(simplified)
- C/C++
- Code Runner
四、优化Code Runner插件
优化一:解决源文件编译后产生exe文件问题(太过于错乱)
1、打开 Code Runer插件,点击 Extension Setting(扩展设置)
2、点击Edit in settings.json
3、找到 c 和 cpp的字段,更改加上红框里的选项 .\\build\\ ,表示将 输出的exe文件输出到 当前目录的 build文件夹内, 执行的时候从该目录找可执行文件。
解释:
第一个指令为cd $dir,即转到当前cpp源文件目录下
第二个指令为g++ $fileName -o $fileNameWithoutExt.exe,即编译文件
第三个指令为$dir$fileNameWithoutExt.exe,即对控制台输入exe文件绝对路径,执行文件
4、在源文件所在目录下 build文件夹(否则编译输出的时候找不到 Build文件夹报错),编译后的exe文件就都在build文件夹了。
优化二:解决Code Runner执行后,输入结果为乱码问题(优化一后,可能会出现的问题)
主要是VScode右下角的编码格式和终端编译格式不一致问题,将vscode输入调整至终端输入即可
1、选择 文件 -> 首选项 -> 设置,打开 VS Code 设置页面,
2、在搜索框输入run code configuration,勾选上 Run In Terminal 选项。
设置之后,代码即可在 Terminal 中运行。
优化三:优化命名不能携带特殊字符问题(包含空格、括号等字符)。
分析:假设cpp文件为“hello world",
那么编译的时候会遇到空格符结束读入,换言之就会只读入hello,解决的方法是在code runner读入文件名时左右两边加上"”,这样就可以用转义字符的方法,将文件名用双引号括起。
1、2: 前两步和优化一前两部一致,找到code runner配置文件。
3:在对应c、c++文件的fileName两侧加上\"(\为转义),并且在第三条引用指令前需要额外加上(&)符号,含义为调用文件。
"code-runner.executorMap": {
"c": "cd $dir && gcc \"$fileName\" -o \"$fileNameWithoutExt\" && & \"$dir$fileNameWithoutExt\"",
"cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && & \"$dir$fileNameWithoutExt\""
}
结合优化一的代码设置,最后应该为:
"code-runner.executorMap": {
"c": "cd $dir && g++ \"$fileName\" -o .\\build\\\"$fileNameWithoutExt\" && & .\\build\\\"$dir$fileNameWithoutExt\"",
"cpp": "cd $dir && g++ \"$fileName\" -o .\\build\\\"$fileNameWithoutExt\" && & .\\build\\\"$dir$fileNameWithoutExt\"",
}
优化四:启动code runner时输出中文字符串时出现乱码
分析:中文的windows下的cmd默认使用GBK的编码, 每次需要的时候只要在VSCode终端输入命令:chcp 65001, 切换代码页到使用UTF-8就可以解决中文代码的问题,只不过这种方法太麻烦了,每次进入终端都要输入命令。
1、2: 前两步和优化一前两部一致,找到code runner配置文件。
3:分别对c、c++、java、python等常用编程语言进行配置。配置命令如下,就是在cd $dir前面加上一段chcp 65001,python -u前面加上set PYTHONIOENCODING=utf8:
"java": "chcp 65001 &&
"c": "chcp 65001 &&
"cpp": "chcp 65001 &&
"python": "set PYTHONIOENCODING=utf8 &&
结合优化一、三的代码设置,最后应该为:
"code-runner.executorMap": {
""c": "chcp 65001 && cd $dir && g++ \"$fileName\" -o .\\build\\\"$fileNameWithoutExt\" && & .\\build\\\"$dir$fileNameWithoutExt\"",
"cpp": "chcp 65001 && cd $dir && g++ \"$fileName\" -o .\\build\\\"$fileNameWithoutExt\" && & .\\build\\\"$dir$fileNameWithoutExt\"",
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)