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

VS Code构建C/C++开发环境(Windows with MinGW and CMake)

文章目录

  • 目的
  • 编译工具链
  • 基础开发与调试
  • 基于CMake开发与调试
  • 关于settings.json
  • 总结

目的

在Windows上进行C/C++开发目前最最常用的IDE就是微软的 Visual Studio ,只是对我来说早些年的VS实在是太卡了,留下了不好的印象。后来没怎么用过,现在下了用起来也不怎么习惯,相对来说我还是喜欢更轻量的方式进行开发。这篇文章将记录在VS Code中构建C/C++开发环境的一些内容。

VS Code中构建C/C++开发环境进行开发的方法官方是有文档进行说明的,可以参考下面链接:
https://code.visualstudio.com/docs/languages/cpp
https://code.visualstudio.com/docs/cpp/introvideos-cpp

编译工具链

Windows上进行C/C++开发需要有合适的编译工具链,流行的有MSVC(微软出品)和MinGW(GCC的一个实现)。

这里使用MSYS2(提供了命令行、包管理器等工具)来安装MinGW-w64(64位版本)。首先去MSYS2官网下载软件: https://www.msys2.org/ 。安装完成后打开MSYS2-UCRT64的命令行界面,输入下面命令下载MinGW-w64:

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

下载完成后需要添加MinGW-w64到环境变量,如果未修改过目录应该是 C:\msys64\ucrt64\bin
在这里插入图片描述

添加完成后应该就可以在命令窗口中使用了:
在这里插入图片描述

如果下载有问题也可以直接去MinGW-w64官网下载已经编译好的工具链:https://www.mingw-w64.org/
如果对下载的版本选择有问题可以参考文章:https://blog.csdn.net/weixin_43684214/article/details/136624735

基础开发与调试

有了工具链后,在VS Code中开发C/C++需要安装C/C++的扩展:
在这里插入图片描述

之后就可以进行基础的开发了,下面代码编译(Run)就可以生成可执行文件:
在这里插入图片描述

上图代码为:

#include <iostream>

int main()
{
    std::cout << "Hello Naisu!" << std::endl;
}

如果右上角没有调试编译的按钮可以在VS Code的设置中调出来:
在这里插入图片描述

编译没问题就可以进行调试(Debug),记得先打上断点:
在这里插入图片描述

最基础的开发和调试就是上面这样了,另外在VS Code中可以通过一些配置文件来对整个过程进行更加细致的配置:

  • tasks.json 编译后会生成这个文件,该文件描述了编译过程命令,可以修改该文件调整编译行为,比如编译前后动作、要编译哪些文件、编译生成什么文件等;
  • launch.json 该文件可以通过右上角调试按钮右边的配置按钮生成,该文件描述了调试时的行为,比如 "stopAtEntry": true, 进入调试时就会停在入口处,"externalConsole": true, 调试的程序就会打开独立的窗口;
  • c_cpp_properties.json 该文件可以按 Ctrl+Shift+P 然后选择 C/C++: Edit Configurations(UI或JSON) 生成。该文件影响代码编写时智能提示等功能,还有不在当前工作目录下载需要引用的头文件或库的路径等;

在这里插入图片描述

基于CMake开发与调试

首先需要去CMake官网下载并安装:https://cmake.org/

安装完成后可以在命令窗口使用cmake:
在这里插入图片描述

VS Code中需要安装相应的拓展:
在这里插入图片描述

使用CMake的话只要项目目录下有 CMakeLists.txt 文件,这个可以自己新建也可以按VS Code的文档来,按 Ctrl+Shift+P 选择 CMake: Quick Start 来进行配置(注意配置时项目名称不能和cmake关键词重复,比如test):
在这里插入图片描述
按照设置下来还会生成 CMakePresets.json 文件,该文件描述了项目使用的工具链等。如果没有该文件也可以通过选择 CMake: Select Configure Preset 来配置。

配置完成后就可以用CMake工具进行编译和调试了:
在这里插入图片描述
除了侧边栏工具界面,底部的工具栏中也可以进行编译调试等工作。

至此本文主要要描述的内容都已完成。

关于settings.json

前面的图中可以看到 .vscode 目录下有一个 settings.json 文件,该文件用来配置当前项目的VS Code软件的一些特定配置,这个文件在实际项目中可以配置一些非常使用的功能,比如下面方式可以配置禁止搜索和禁止显示某些文件:

{

    // Configure glob patterns for excluding files and folders in fulltext searches and quick open. 
    // Inherits all glob patterns from the `files.exclude` setting.
    "search.exclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    // Configure [glob patterns](https://aka.ms/vscode-glob-patterns) for excluding files and folders. 
    // For example, the File Explorer decides which files and folders to show or hide based on this setting. 
    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
}

settings.json 文件可以配置的项目比较多,更多内容可以参考下面链接:
https://code.visualstudio.com/docs/reference/default-settings

总结

使用VS Code构建C/C++开发环境目前来说也是比较方便的,很多轻量的使用是完全可以满足的。

相关文章:

  • Qt学习笔记——TableWidget的一些学习东西
  • 精品推荐-最新大模型MCP核心架构及最佳实践资料合集(18份).zip
  • Named Entity Recognition with Bidirectional LSTM-CNNs(于双向LSTM神经网络的命名实体识别)论文阅读
  • JDBC驱动autosave缺陷的修复与配置指南
  • 移动端六大语言速记:第10部分 - 标准库与框架
  • c++知识点1
  • AI数据分析的正道是AI+BI,而不是ChatBI
  • 改善 Maven 的依赖性
  • SUNO-听你所想
  • Linux目录探秘:文件系统的核心架构
  • docker部署jar包并启动
  • PyTorch实现二维卷积与边缘检测:从原理到实战
  • idea光标变成白色方块的解决方法
  • AF3 ProteinDataset类的初始化方法解读
  • UWB定位算法详解(2025年更新版)
  • 电气隐患难察觉?安科瑞智慧用电方案实现风险实时可视化管理
  • 项目整合提问
  • LeetCode hot 100—最长回文子串
  • java HttpServletRequest 和 HttpServletResponse
  • 制作一款打飞机游戏教程1
  • 上海网站建设价位/谷歌广告代理
  • 律师网站建设建议/百度推广非企代理
  • 松江新城做网站公司/网络营销手段有哪些方式
  • 政府网站维护方案/百度搜索排行榜
  • 电子商务门户网站的研究与实现/查网站关键词工具
  • 企业做网站的意义/南宁网站建设网站推广