VScode配置C、C++环境,编译并运行并调试

配置文件

想要在 VS Code 中运行和调试 C/C++ 程序,涉及三个配置文件:tasks.json、launch.json 和 c_cpp_properties.json。这三个配置文件一起提供了一个完整的 C/C++ 开发环境的配置。

  • tasks.json 文件用于配置任务(例如编译)
  • launch.json 文件用于配置调试器
  • c_cpp_properties.json 文件用于配置 IntelliSense 功能

通过配置这些文件,你可以在 VS Code 中方便地进行 C/C++ 项目的编译和调试。

参考:

VS code-在VS code中编写C/C++代码_vscode c++-CSDN博客

20秒 一键配置 VSCode (Visual Studio Code) C/C++开发环境_一键配置vscode c-CSDN博客(这个没试过)

一.安装VScode

这个网上有很多,很好安装,不再介绍

二.配置编译器

因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此首先需要安装一个C/C++编译器并且设置环境变量,这里使用mingw-w64。

离线版下载地址(与下面的博客一样):

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/sjlj/x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z/download

配置参考下面这篇文章:

windows下安装mingw-w64 - tnnmigga - 博客园

三.安装插件

搜索一下插件

  • chinese(simplified)
  • C/C++
  • Code Runner

1.优化Code Runner插件

优化参考:

(LeetCode)使用Vscode编译运行和调试C/C++及体验优化_leetcode vscode-CSDN博客

优化一:解决Code Runner执行后,输入结果为乱码问题(优化一后,可能会出现的问题)

主要是VScode右下角的编码格式和终端编译格式不一致问题,将vscode输入调整至终端输入即可

1、选择 文件 -> 首选项 -> 设置,打开 VS Code 设置页面,

2、在搜索框输入run code configuration,勾选上 Run In Terminal 选项。(否则程序无法在运行时使用键盘输入数据)

设置之后,代码即可在 Terminal 中运行。

2.优化二:启动code runner时输出中文字符串时出现乱码

参考:

(LeetCode)使用Vscode编译运行和调试C/C++及体验优化_leetcode vscode-CSDN博客

分析:中文的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 &&

四.在VSCode上编写C++代码并编译成功

参考:

VS code-在VS code中编写C/C++代码_vscode c++-CSDN博客

原来的:

最终成功

五.调试

配置launch.json

注意路径中不能有中文

参考:

VS code-在VS code中编写C/C++代码_vscode c++-CSDN博客

手把手教你使用 VS Code 编译和调试 C/C++ 工程_vscode调试c++代码-CSDN博客

相关推荐
David猪大卫10 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger10 小时前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
努力努力再努力wz13 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
慧都产品智能化14 小时前
Qt 表格升级攻略:复用已有编辑器,减少重复开发
c++·qt·编辑器·qt6.3
ShineWinsu14 小时前
对于Qt:QTableWidget常见属性以及QTableWidgetItem类的解析
开发语言·c++·qt·gui·客户端·表格·qtablewidget
ShineWinsu15 小时前
对于Qt:QListWidget常见属性以及QListWidgetItem类的解析
开发语言·c++·qt·客户端·列表·qlistwidget·qlistwidgetitem
坤坤子吖15 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
沫璃染墨17 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
自信1504130575918 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
独隅18 小时前
WebStorm macOS 安装部署与高效调优完全指南
ide·macos·webstorm