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 天前
算法竞赛C++常用的STL
c++·算法
weilx12341 天前
C++笔记-文件IO-<fcntl.h>
c++
Smileyqp沛沛1 天前
前端?C++ ?较大差异基础罗列
c++·基础·前端转c++
C语言小火车1 天前
C/C++ 为什么需要编译器?
开发语言·c++
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
吞下星星的少年·-·1 天前
C++ 萌新语法入门篇
c++·算法比赛
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
another heaven1 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
程序猿编码1 天前
告别改源码适配模型:纯 C++ 可配置 LLM 推理引擎,全格式全结构兼容
c++·大模型·llm·推理引擎
此生决int1 天前
深入理解C++系列(20)——C++11(下)
开发语言·c++