【环境配置】vscode配置C C++开发和调试环境
按照本教程配置好之后,不再需要写任何tasks.json和launch.json文件,减轻记忆负担,即使是调试程序,也不用再写这些文件了,跟着做就能得到一个很好的集成开发环境
目录
msys2的安装与配置
msys2的安装比较简单,默认安装路径为C:\msys64,这个路径可以不用修改,因为vscode的cmake tools插件会自动扫描到这个路径,就不用手动添加这个工具链
pacman的一些常用命令
| 命令 | 描述 |
|---|---|
pacman -S <package_name> |
从官方软件仓库安装软件包 |
pacman -Ss <search_term> |
在软件仓库中搜索软件包 |
pacman -R <package_name> |
从系统中移除软件包 |
pacman -Syu |
升级所有已安装的软件包 |
pacman -Qe |
列出已显式安装的软件包 |
pacman -Sc |
清理软件包缓存 |
pacman配置清华镜像源
sed -i "s#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
该命令会把 /etc/pacman.d/mirrorlist* 文件中的msys2的源修改为清华源,下载速度更快
pacman 需要安装以下包
- base-devel
- mingw-w64-ucrt-x86_64-toolchain
- mingw-w64-ucrt-x86_64-cmake
- mingw-w64-ucrt-x86_64-clang-tools-extra
通过以下命令,安装上面这些包
pacman -S base-devel mingw-w64-ucrt-x86_64-toolchain mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-clang-tools-extra
Note:
- msys2的大部分包都是以mingw-w64+环境+包名命名的,所以很多时候,安装包之前,可以先用
pacman -Ss <package>来获取完整的包名- 你可以选择把MSYS2 UCRT64集成到Windows Terminal和vscode的终端里,这一部分内容,可以参考terminals和IDES and Text Editors,这两个配置都是比较简单的,而且集成之后更加方便。
vscode的配置
vscode的安装就不详细展开了,主要用到四个插件
C/C++clangdCMakeCMake Tools
除此之外,还需要把以下配置添加到vscode的配置文件中,
"C_Cpp.autocomplete": "disabled", // 禁用C/C++插件的提示功能,与clangd插件冲突
"clangd.detectExtensionConflicts": false, // 禁用clangd插件检测冲突,因为C/C++插件的提示功能已经被禁用了
"clangd.path": "C:\\msys64\\ucrt64\\bin\\clangd.exe",// 指定clangd路径
"cmake.cmakePath": "C:/msys64/ucrt64/bin/cmake.exe", // 指定cmake路径
测试环境
接下来可以快速写一个helloworld项目进行测试,打开一个全新的目录,
ctrl+shit+p 调出面板,输入cmake,选择quickstart

输入项目名称

选择类型 C 或者 C++项目

开发可执行文件 还是 库文件

cmake tools自动为我们创建了main.cpp和CMakeLists.txt文件

可以直接双击下方状态栏运行和调试按钮

运行:

调试:

可以看到,非常的方便,再也不用去写tasks.json和launch.json文件了
【环境配置】vscode配置C C++开发和调试环境的更多相关文章
- Eclipse IDE配置PHP开发、调试环境
前言 使用java语言开发的朋友想必对Eclipse开发工具已经不陌生了,那么Eclipse作为java主流的开发工具,是否能够开发PHP项目呢?答案如你所想,肯定是可以的!以下就是该IDE下如何配置 ...
- 搭建Go开发及调试环境(LiteIDE + GoClipse)
搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇 这里以Windows7 64位为例,如果是32位环境需安装对应版本程序. 一.安装golang1.2.2 1.3 ...
- ubuntu基于VSCode的C++编程语言的构建调试环境搭建指南
ubuntu基于VSCode的C++编程语言的构建调试环境搭建指南 首先安装g++ sudo apt install g++ 检查是否安装成功: 在插件栏安装插件c/c++.code runner: ...
- 软件-集成开发环境:IDEA(Java 语言开发的集成环境)
ylbtech-软件-集成开发环境:IDEA(Java 语言开发的集成环境) IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他开发语言),IntelliJ在业界 ...
- Ubuntu16.04下配置VScode的C/C++开发环境
博客转载:https://blog.csdn.net/weixin_43374723/article/details/84064644 Visual studio code是微软发布的一个运行于 Ma ...
- 使用 Visual Studio Code 搭建 C/C++ 开发和调试环境
文章目录 1. 安装 C/C++ 插件 2. 安装 MinGW-w64 并配置好环境变量 3. 测试环境变量是否配置正确 4. 创建和设置 C 语言开发工作区 5. 编写你的第一个 C 语言程序 6. ...
- 笔记:MAC OS X下配置PHP开发、调试环境
操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...
- MAC OS X下配置PHP开发、调试环境
操作系统:MAC OS X 工具:MAMP.PhpStorm.xdebug.chrome 1.下载MAMP 2.安装比较简单,安装完成后,应用程序中会增加如下4个应用 MacGDBp是PHP调试器,使 ...
- 【Qt】Qt在Windows下的开发与调试环境配置
前文已经交待了从源码编译Qt自定义版本.现在可以开始配置一下开发与调试程序并写个Hello World了. 1. IDE 虽然Qt官方有VS插件使我们可以在VisualStudio中开发Qt应用,但我 ...
- 搭建Eclipse开发和调试环境(真机)
由于工作原因,最近开始了Android开发.之前接触过一段时间Android,还是在2.x时代. 那个时候搭建开发环境还是挺麻烦的.又是Eclipse,又是ADT的,不同的版本还要安装对应开发包.现在 ...
随机推荐
- Js将字符串转数字的方式
Js将字符串转数字的方式 Js字符串转换数字方方式主要有三类:转换函数.强制类型转换.弱类型隐式类型转换,利用这三类转换的方式可以有5种转换的方法. parseInt() parseInt()和Num ...
- Swoole从入门到入土(10)——HTTP服务器[初步接触]
讨论完了TCP服务器,接下来的话题就是HTTP服务器.HTTP这个协议"一般"是搭载在TCP协议上实现的. 注意,这里用"一般"是以前多数是这样做的,在&quo ...
- linux删除目录下指定文件方法
1.删除当前目录下文件名含有2013的文件 ls | grep 2013 | xargs rm --To be continue...
- Direct2D 旋转篇
微软文档:Transforms 本篇通过官方文档学习,整理出来的demo,初始样本请先创建一个普通的desktop app. ID2D1SolidColorBrush* m_pOriginalShap ...
- python定义类模块之attr
# attr可以简单理解为namedtuple的增强版 import attr @attr.s class Point(object): x = attr.ib(default=1) # 定义默认参数 ...
- sql注入简单初
import requests,sys,time from PyQt5.QtWidgets import * from PyQt5.QtGui import QIcon from threading ...
- Redis缓存应用场景
记录一下自己的听课笔记,看的网课. 参考资料:https://zhuanlan.zhihu.com/p/157717158 常见应用场景 1 数据缓存 缓存一些常用的.经常访问的.不经常变化的数据,也 ...
- [Rust] 数据类型的转换
数据类型的转换 类型转换的方式 Rust 提供了多种类型转换的方式. as T 用于数类型之间的转换.ixx, uxx, fxx 都可以. 注意:当溢出的时候,转换不会 panic,而是循环映射值. ...
- Error creating bean with name 'XXX': Bean with name 'senseOneToSomeFeignImpl' has been injected into other beans [XXXXXX] in its raw version as part of a circular reference
关于Spring框架中的循环依赖问题,您可以尝试以下几种方法来解决: 重新定义Bean依赖:重构代码以消除循环依赖.这可能涉及重新设计类,使它们不相互依赖即可运行. 使用Setter注入:与构造函数注 ...
- 浅入Kubernetes(9):了解组件
本篇主要介绍 Kubernetes 中的架构组成,在前面我们已经学习到了 kubeadm.kubectl,这两个命令行工具是 k8s 组成之一.而前面在搭建集群时,也学到了 master.worker ...