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

VS Code C++ 开发环境配置

VS Code 是当前非常流行的开发工具. 本文讲述如何配置 VS Code 作为 C++开发环境. 本文将按照如下步骤来介绍如何配置 VS Code 作为 C++开发环境.

  1. 安装编译器
  2. 安装插件
  3. 配置工作区

第一个步骤的具体操作会因为系统不同或者方案不同而有不同的选择.

环境要求

首先需要立即 VS Code 主要的功能是编辑器, 它并没有编译器能力. 因此我们要想 VS Code 作为 C++开发环境, 我们需要安装好编译器.

  1. VS Code. 如果没有请去官网下载并安装.
  2. C++ 编译器. 根据系统的不同, 可以选择不同的编译器. 读者请根据自己所用系统选择对应的编译器.

Windows 下安装 C++编译器

Windows 下有很多选择, 简单来说有如下选择:

  • 使用原生的编译器: Microsoft Visual Studio. Visual Studio 本身就是一款 IDE, 但是相比起 VS Code 来说, 软件体积很大.
  • 如果是 Windows 11 使用 WSL 来安装 C++编译器. Windows 10 应该也可以, 但是我本地环境是 Windows 11, 所以这里只介绍 Windows 11.
  • 如果本地有 Docker, 则可以用 dev container 方案. 有多个语言开发环境, 或者有多个编译器版本的用户可以考虑使用 dev container 方案. 可以参考我的这篇文章: VS Code Dev Containers 教程: 从基础到进阶配置

Linux 下安装 C++编译器

Linux 下可以使用 gcc, clang. 通过系统的包管理器来安装.

  • 对于 Ubuntu 来说, 可以使用如下命令来安装:

    • gcc: sudo apt install gcc
    • clang: sudo apt install clang
  • 对于 CentOS 来说, 可以使用如下命令来安装:

    • gcc: sudo yum install gcc
    • clang: sudo yum install clang

MacOS 下安装 C++编译器

对于 MacOS 来说, 如果有 Homebrew, 可以使用如下命令来安装:

brew install clang

安装插件

我们主要需要安装如下插件C/C++ Extension Pack.

它是一个扩展包, 包含了 C/C++ 的所有功能. 包括:

  • C/C++
  • C/C++ Themes
  • CMake Tools

配置工作区

我们使用 CMake 来配置我们的项目. 这里我使用一个示例项目来演示如何配置工作区.

这个项目使用 CMake 来构建, 并且使用 CMakePreset.json 来配置工作区. 如果对这两个工具不熟悉, 请参考我的文章: CMake 教程: 从基础到进阶配置

操作步骤如下:

  1. clone 项目:

    git clone https://gitee.com/aronic/cmake-project-2024.git
    
  2. 用 VS Code 打开项目.

  3. 选择 CMake Preset: 按下shift + cmd + p, 输入 CMake: Select a CMake Preset, 选择对应的 preset. 目前只有两个, 分别针对 Linux 和 Windows.

    select preset

  4. 运行构建: 按下shift + cmd + p, 输出CMake: Build, 运行构建.

    cmake build

    构建结果:

    build result

  5. 运行测试: 按下shift + cmd + p, 输出CMake: Run Test, 运行测试.

    run test

    测试结果:

    run test result

上述操作在底层状态栏也可以操作.

status bar

至此, 我们已经完成了 C++开发环境的搭建.

相关帖子

  • CMake 入门教程: 从基础到实践
  • Windows 11 CLion C++ Dev Container开发环境配置
  • Vcpkg 使用全攻略: 支持 VS Code, Visual Studio 和 CLion
  • Dockerfile for C++ Dev Containers

相关文章:

  • Ollama 框架本地部署教程:开源定制,为AI 项目打造专属解决方案!
  • 最新的PyCharm及AI助手的安装和试用
  • H5DS编辑器是如何让企业快速构建动态页面
  • 一文读懂深度学习中的损失函数quantifying loss —— 作用、分类和示例代码
  • 权限管理Vue实现
  • CHAPTER 6 Object References, Mutability, and Recycling
  • 超越AI边界:智慧法务如何破解法律行业的“最后一公里“难题
  • ReconDreamer:通过在线恢复构建驾驶场景重建的世界模型
  • golang进阶知识专项-理解值传递
  • 记录一次Spring事务失效导致的生产问题
  • 第七节:基于Winform框架的串口助手小项目---协议解析《C#编程》
  • DeepSeek开源周:五大创新项目详解
  • 监听 RabbitMQ 延时交换机的消息数、OpenFeign 路径参数传入斜杠无法正确转义
  • Docker 部署开源项目HivisionIDPhotos详细教程
  • 【个人学习总结】反悔贪心:反悔堆+反悔自动机
  • SPL 和 SQL 能不能融合在一起?
  • 使用 marked.min.js 实现 Markdown 编辑器 —— 我的博客后台选择之旅
  • 家政保洁维修行业有没有必要做小程序?
  • 搭建一个跳板服务器的全过程
  • 数据安全VS创作自由:ChatGPT与国产AI工具隐私管理对比——论文党程序员必看的避坑指南
  • 个人网站建设论文中期报告/人工智能培训
  • wordpress游览量/seo是什么?
  • 三五互联网站管理登录网址/百度sem代运营
  • 零基础一个人做网站/seo做的好的网站
  • 广州网站制作服务/seo培训一对一
  • 自己做外贸网站能接到单吗/做seo排名