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

相关推荐
獨枭1 小时前
CMake 构建项目并整理头文件和库文件
c++·github·cmake
小王爱吃月亮糖3 小时前
C++的23种设计模式
开发语言·c++·qt·算法·设计模式·ecmascript
栗子~~3 小时前
idea 8年使用整理
java·ide·intellij-idea
小哈龙5 小时前
c++ 类似与c# 线程 AutoResetEvent 和 ManualResetEvent的实现
c++·c#·多线程
yuanbenshidiaos5 小时前
C++--------------树
java·数据库·c++
海螺姑娘的小魏5 小时前
Effective C++ 条款 15:在资源管理类中提供对原始资源的访问
开发语言·c++
Rocket MAN7 小时前
VSCode/Visual Studio Code实现点击方法名跳转到具体方法的
vscode·编辑器
lmxnsI7 小时前
后端项目打包发布
ide·python·pycharm
chenxuezhou7 小时前
VSCode调试
vscode
青青丘比特7 小时前
STL.string(下)
开发语言·c++