当前位置: 首页 > article >正文

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


http://www.kler.cn/a/388735.html

相关文章:

  • python魔术方法的学习
  • JVM详解:JVM的系统架构
  • 《深度解析 C++中的弱引用(weak reference):打破循环依赖的利器》
  • 深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
  • 天才的懈怠 : 平衡二叉树
  • 【JAVA】正则表达式中的中括弧
  • Java之List常见用法
  • VUE3实现好看的通用网站源码模板
  • 深度学习经典模型之VGGNet
  • <<零基础C++第一期,C++入门基础之引用知识点>>
  • JavaWeb--Maven
  • 系统安全第五次作业题目及答案
  • Could not create task ‘:shared_preferences_android:generateDebugUnitTestConfig‘
  • 大数据机器学习算法和计算机视觉应用01:博弈论基础
  • SpringBoot整合Sharding-JDBC实现读写分离
  • 界面控件Telerik UI for ASP.NET AJAX 2024 Q3亮点 - 新增金字塔图表类型
  • 大数据新视界 -- 大数据大厂之经典案例解析:广告公司 Impala 优化的成功之道(下)(10/30)
  • 讨论一个mysql事务问题
  • 3200. 三角形的最大高度
  • Q:警告无法解释导入PIL Pylance(reportMisssingIMports)
  • Matplotlib 绘图艺术:从新手到高手的全面指南
  • vue内置指令
  • 支持向量机相关证明 解的稀疏性
  • 停车问题 | 回溯法
  • web实操4——servlet体系结构
  • 计算机网络综合题