在 VS Code 中试试

Visual Studio Code 的 C/C++

Visual Studio Code 的 C/C++ 支持由 Microsoft C/C++ 扩展 提供,可在 Windows、Linux 和 macOS 上实现跨平台 C 和 C++ 开发。创建 *.cpp 文件时,该扩展将添加语法高亮(着色)、智能补全和悬停信息 (IntelliSense) 以及错误检查等功能。

C++ language features

安装扩展

  1. 打开 VS Code。
  2. 在活动栏上选择扩展视图图标,或使用键盘快捷方式 (⇧⌘X (Windows, Linux Ctrl+Shift+X))。
  3. 搜索 'C++'
  4. 选择安装

C/C++ extension

设置 C++ 环境

C++ 是一种编译语言,这意味着你的程序源代码必须先经过翻译(编译)才能在计算机上运行。C/C++ 扩展不包含 C++ 编译器或调试器,因为 VS Code 作为编辑器依赖于命令行工具来完成开发工作流。你需要安装这些工具或使用计算机上已安装的工具。

检查是否已安装编译器

注意:你的学术或工作开发环境可能已提供了 C++ 编译器和调试器。请咨询你的老师或同事,以获取关于安装推荐的 C++ 工具集(编译器、调试器、项目系统、linter)的指导。

一些平台上预装的常见编译器包括 Linux 上的 GNU 编译器集合 (GCC) 以及 macOS 上随 Xcode 提供的 Clang 工具。

检查是否已安装

  1. 使用 (⌃⇧` (Windows, Linux Ctrl+Shift+`)) 打开一个新的 VS Code 终端窗口

  2. 使用以下命令检查 GCC 编译器 g++

    g++ --version
    

    或使用此命令检查 Clang 编译器 clang

    clang --version
    

输出应显示编译器版本和详细信息。如果两者都未找到,请确保你的编译器可执行文件位于你的平台路径(Windows 上为 %PATH,Linux 和 macOS 上为 $PATH)中,以便 C/C++ 扩展能够找到它。否则,请按照以下部分的说明安装编译器。

安装编译器

如果你尚未安装编译器,可以参考我们的安装教程之一

Windows:

转到 MSVC 教程

转到 MinGW 教程

Linux:

转到 GCC 教程

macOS:

转到 Clang 教程

注意:如果你更喜欢一个功能齐全的集成开发环境 (IDE),具有内置编译、调试和项目模板(文件 > 新建项目),则有许多选项可用,例如 Visual Studio Community 版本。

示例:在 Windows 上安装 MinGW-x64

为了理解此过程,我们通过 MSYS2 安装 Mingw-w64。Mingw-w64 是 Windows 上一个流行的免费工具集。它提供了最新版本的 GCC、Mingw-w64 以及其他有用的 C++ 工具和库的原生构建版本。

  1. 使用此直接链接下载 MinGW 安装程序

  2. 运行安装程序并按照安装向导的步骤进行操作。请注意,MSYS2 需要 64 位 Windows 8.1 或更高版本。

  3. 在向导中,选择你希望的安装文件夹。记下此目录以备后用。在大多数情况下,推荐的目录是可接受的。设置开始菜单快捷方式步骤也同样适用。完成后,确保选中立即运行 MSYS2 框并选择完成。随后将自动打开一个 MSYS2 终端窗口。

  4. 在此终端中,运行以下命令安装 MinGW-w64 工具链

    pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
    
  5. 将显示可用包的列表

    MYSS2 Installer

  6. Enter 接受 toolchain 组中默认数量的包。

  7. 当提示是否继续安装时,输入 Y

  8. 使用以下步骤将 MinGW-w64 的 bin 文件夹路径添加到 Windows PATH 环境变量

    1. 在 Windows 搜索栏中,键入 设置 打开 Windows 设置。
    2. 搜索编辑帐户的环境变量
    3. 在你的用户变量中,选择 Path 变量,然后选择编辑
    4. 选择新建,并将你在安装过程中记录的 MinGW-w64 目标文件夹添加到列表中。如果选择了默认安装步骤,路径为:C:\msys64\ucrt64\bin
    5. 选择确定,然后在环境变量窗口中再次选择确定以更新 PATH 环境变量。你需要重新打开所有控制台窗口,以便新的 PATH 环境变量生效。
  9. 检查 MinGW-w64 工具是否正确安装并可用,打开一个新的命令提示符并输入

gcc --version
g++ --version
gdb --version

你应该会看到显示已安装的 GCC、g++ 和 GDB 版本信息的输出。如果不是这样,请确保你的 PATH 条目与编译器工具所在的 Mingw-w64 二进制文件位置匹配,或者参考故障排除部分

创建 Hello World 应用

为了确保编译器已正确安装和配置,让我们创建一个 Hello World C++ 程序。

创建一个 C++ 文件

  1. 在 Windows 上,启动 Windows 命令提示符(在 Windows 搜索栏中输入Windows command prompt)。在 macOS 和 Linux 上,你可以在终端中输入这些命令。
  2. 运行以下命令。它们会创建一个名为 projects 的空文件夹,你可以在其中放置所有 VS Code 项目。接下来的命令将创建并导航到名为 helloworld 的子文件夹。然后,你将使用 code 命令直接在 VS Code 中打开 helloworld
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

"code ." 命令在当前工作文件夹中打开 VS Code,该文件夹将成为你的“工作区”。由于这是你创建的文件夹,请选择是,我信任作者来接受工作区信任对话框。

现在,使用文件资源管理器中的新建文件按钮或通过文件 > 新建文件命令创建一个名为 helloworld.cpp 的新文件。

File Explorer New File button

添加 Hello World 源代码

粘贴以下源代码

#include <iostream>

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

现在按下 ⌘S (Windows, Linux Ctrl+S) 保存文件。你也可以在主菜单的文件中勾选自动保存来启用自动保存,以便自动保存文件更改。

运行 helloworld.cpp

  1. 确保 helloworld.cpp 文件已打开,使其成为编辑器中的活动文件。

  2. 按下编辑器右上角的运行按钮。

    Screenshot of helloworld.cpp and play button

  3. 从系统中检测到的编译器列表中选择 C/C++: g++.exe 生成并调试活动文件

    C++ debug configuration dropdown

只有在你首次运行 helloworld.cpp 时,系统才会提示你选择编译器。此编译器将成为你 tasks.json 文件中的“默认”编译器设置。

  1. 构建成功后,你应该在集成终端中看到“Hello World”。

    screenshot of program output

恭喜!你刚刚在 VS Code 中运行了你的第一个 C++ 程序!下一步是使用下一部分的教程之一,了解 Microsoft C/C++ 扩展的更多语言特性,例如 IntelliSense、代码导航、构建配置和调试。

教程

通过针对你的环境的教程开始使用 C++ 和 VS Code

文档

你可以在 VS Code 网站的C++ 部分找到更多关于使用 Microsoft C/C++ 扩展的文档,其中包含关于以下内容的文章

C++ TOC on code.visualstudio.com

远程开发

VS Code 和 C++ 扩展支持远程开发,使你能够通过 SSH 在远程机器或 VM 上工作,在 Docker 容器内工作,或者在适用于 Linux 的 Windows 子系统 (WSL) 中工作。

安装远程开发支持

  1. 安装 VS Code 远程开发扩展包
  2. 如果远程源文件托管在 WSL 中,请使用 WSL 扩展。
  3. 如果你通过 SSH 连接到远程机器,请使用 Remote - SSH 扩展。
  4. 如果远程源文件托管在容器中(例如 Docker),请使用 Dev Containers 扩展。

使用 AI 增强补全

GitHub Copilot 是一个由 AI 驱动的代码补全工具,可帮助你更快、更智能地编写代码。你可以在 VS Code 中使用 GitHub Copilot 扩展来生成代码,或从其生成的代码中学习。

GitHub Copilot extension in the VS Code Marketplace

GitHub Copilot 为许多语言和各种框架提供建议,尤其适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。

你可以在Copilot 文档中了解更多关于如何开始使用 Copilot 的信息。

反馈

如果你在使用 Microsoft C/C++ 扩展时遇到任何问题或有任何建议,请在 GitHub 上提交问题和建议。如果你还没有提供反馈,可以参与此快速调查