在 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 Compiler Collection (GCC) 以及 macOS 上使用 XcodeClang 工具。

要检查是否已安装它们

  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),它内置了编译、调试和项目模板(File > New Project),则有许多选项可用,例如 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 搜索栏中输入命令提示符)。在 macOS 和 Linux 上,您可以在终端中输入这些命令。

  2. 运行以下命令。它们会创建一个名为 projects 的空文件夹,您可以在其中放置所有 VS Code 项目。接下来的命令会创建一个名为 helloworld 的子文件夹并导航到该文件夹。从那里,您可以使用 code 命令直接在 VS Code 中打开 helloworld

    mkdir projects
    cd projects
    mkdir helloworld
    cd helloworld
    code .
    

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

  3. 现在,通过文件资源管理器中的新建文件按钮或文件 > 新建文件命令创建一个名为 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 文件中设置的“默认”编译器。

  4. 构建成功后,您应该会在集成终端中看到“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++ 扩展支持远程开发, enabling 您可以通过 SSH 在远程机器或虚拟机上工作,或在 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 上提交问题和建议。如果您尚未提供反馈,可以参加这份快速调查