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博客

相关推荐
xlp666hub1 小时前
Leetcode第七题:用C++解决接雨水问题
c++·leetcode
肆忆_3 小时前
实战复盘:手写 C++ 虚拟机的高性能并行 GC (Thread Pool + Work Stealing)
c++
肆忆_3 小时前
虚函数进阶答疑:把上一篇博客评论区里最容易卡住的问题,一次追到底
c++
saltymilk19 小时前
使用 C++ 模拟 ShaderLanguage 的 swizzle
c++·模板元编程
xlp666hub1 天前
Leetcode第五题:用C++解决盛最多水的容器问题
linux·c++·leetcode
得物技术1 天前
搜索 C++ 引擎回归能力建设:从自测到工程化准出|得物技术
c++·后端·测试
xlp666hub2 天前
Leetcode 第三题:用C++解决最长连续序列
c++·leetcode
会员源码网2 天前
构造函数抛出异常:C++对象部分初始化的陷阱与应对策略
c++
xlp666hub2 天前
Leetcode第二题:用 C++ 解决字母异位词分组
c++·leetcode
不想写代码的星星2 天前
static 关键字:从 C 到 C++,一篇文章彻底搞懂它的“七十二变”
c++