Visual Studio Code 的 C/C++
Visual Studio Code 的 C/C++ 支持由 Microsoft C/C++ 扩展 提供,以在 Windows、Linux 和 macOS 上实现跨平台 C 和 C++ 开发。当你创建一个 *.cpp
文件时,该扩展会添加诸如语法高亮(着色)、智能补全和悬停(IntelliSense)以及错误检查等功能。
安装扩展
- 打开 VS Code。
- 在活动栏中选择扩展视图图标或使用键盘快捷键(⇧⌘X (Windows, Linux Ctrl+Shift+X))。
- 搜索
'C++'
。 - 选择安装。
设置你的C++环境
C++ 是一种编译型语言,这意味着你的程序源代码必须在计算机上运行之前被翻译(编译)。C/C++ 扩展不包含 C++ 编译器或调试器,因为 VS Code 作为编辑器依赖于命令行工具来进行开发工作流程。你需要安装这些工具或使用计算机上已经安装的工具。
检查是否已安装编译器
注意: 您的学术或工作开发环境可能已经提供了C++编译器和调试器。请咨询您的导师或同事,以获取有关安装推荐的C++工具集(编译器、调试器、项目系统、代码检查工具)的指导。
一些平台上预装的常见编译器包括Linux上的GNU编译器集合(GCC)和macOS上带有Xcode的Clang工具。
检查是否已经安装它们:
-
使用 (⌃⇧` (Windows, Linux Ctrl+Shift+`)) 打开一个新的 VS Code 终端窗口
-
使用以下命令检查GCC编译器
g++
:g++ --version
或者对于Clang编译器的这个命令
clang
:clang --version
输出应显示编译器版本和详细信息。如果未找到,请确保您的编译器可执行文件位于平台路径中(Windows上的%PATH
,Linux和macOS上的$PATH
),以便C/C++扩展可以找到它。否则,请使用以下部分中的说明来安装编译器。
安装编译器
如果您没有安装编译器,您可以按照我们的安装教程之一进行操作:
Windows:
Linux:
macOS:
注意: 如果您更喜欢一个完整的集成开发环境(IDE),带有内置的编译、调试和项目模板(文件 > 新建项目),有许多可用的选项,例如 Visual Studio Community 版本。
示例:在Windows上安装MinGW-x64
为了理解这个过程,让我们通过MSYS2安装Mingw-w64。Mingw-w64是Windows上一个流行的免费工具集。它提供了GCC、Mingw-w64以及其他有用的C++工具和库的最新本地构建。
-
运行安装程序并按照安装向导的步骤操作。注意,MSYS2需要64位的Windows 8.1或更新版本。
-
在向导中,选择您所需的安装文件夹。请记录此目录以备后用。在大多数情况下,推荐的目录是可以接受的。当您到达设置开始菜单快捷方式的步骤时,同样适用。完成后,确保选中立即运行MSYS2复选框,然后选择完成。随后,MSYS2终端窗口将自动打开。
-
在此终端中,通过运行以下命令安装MinGW-w64工具链:
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
-
将显示可用包的列表
-
按Enter键接受
toolchain
组中的默认包数量。 -
当提示是否继续安装时,输入
Y
。 -
通过以下步骤将您的MinGW-w64
bin
文件夹路径添加到WindowsPATH
环境变量中:- In the Windows search bar, type Settings to open your Windows Settings.
- Search for Edit environment variables for your account.
- In your User variables, select the
Path
variable and then select Edit. - Select New and add the MinGW-w64 destination folder you recorded during the installation process to the list. If you selected the default installation steps, the path is:
C:\msys64\ucrt64\bin
. - Select OK, and then select OK again in the Environment Variables window to update the
PATH
environment variable. You have to reopen any console windows for the updatedPATH
environment variable to be available.
-
检查您的MinGW-w64工具是否正确安装并可用,打开一个新的命令提示符并输入:
gcc --version
g++ --version
gdb --version
你应该看到输出,显示你安装的GCC、g++和GDB的版本。如果不是这样,请确保你的PATH条目与编译器工具所在的Mingw-w64二进制位置匹配,或参考故障排除部分。
创建一个Hello World应用程序
为了确保编译器已正确安装和配置,让我们创建一个Hello World C++程序。
创建一个C++文件
- 在Windows上,启动Windows命令提示符(在Windows搜索栏中输入Windows命令提示符)。在macOS和Linux上,您可以在终端中输入这些命令。
- 运行以下命令。它们将创建一个名为
projects
的空文件夹,您可以在其中放置所有VS Code项目。接下来的命令创建并导航到一个名为helloworld
的子文件夹。从那里,您可以使用code
命令直接在VS Code中打开helloworld
。
mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .
"code ." 命令在当前工作文件夹中打开 VS Code,该文件夹将成为您的“工作区”。由于这是您创建的文件夹,请通过选择是,我信任作者来接受工作区信任对话框。
现在使用文件资源管理器中的新建文件按钮或文件 > 新建文件命令创建一个名为helloworld.cpp
的新文件。
添加 Hello World 源代码
粘贴以下源代码:
#include <iostream>
int main()
{
std::cout << "Hello World" << std::endl;
}
现在按下 ⌘S (Windows, Linux Ctrl+S) 来保存文件。你也可以通过在主菜单的 文件 菜单中勾选 自动保存 来启用 自动保存,以自动保存你的文件更改。
运行 helloworld.cpp
-
确保你已经打开了
helloworld.cpp
,使其成为编辑器中的活动文件。 -
按下编辑器右上角的播放按钮。
-
从系统检测到的编译器列表中选择C/C++: g++.exe 构建并调试活动文件。
只有在第一次运行helloworld.cpp
时,系统才会提示您选择编译器。此编译器将成为在tasks.json
文件中设置的“默认”编译器。
-
构建成功后,您应该会在集成的终端中看到“Hello World”出现。
恭喜!您刚刚在VS Code中运行了您的第一个C++程序!下一步是了解更多关于Microsoft C/C++扩展的语言功能,例如IntelliSense、代码导航、构建配置以及使用下一节中的教程进行调试。
教程
开始使用C++和VS Code,根据您的环境进行教程:
- 通过MinGW在Windows上使用GCC
- Windows 上的 Microsoft C++
- GCC on Linux
- Windows Subsystem For Linux 上的 GCC
- macOS上的Clang/LLVM
- Linux上的CMake工具
文档
你可以在VS Code网站的C++部分下找到更多关于使用Microsoft C/C++扩展的文档,在那里你可以找到关于以下内容的文章:
远程开发
VS Code 和 C++ 扩展支持 远程开发,允许你在远程机器或虚拟机上通过 SSH 工作,或者在 Docker 容器内,或者在 Windows 子系统 for Linux (WSL) 中工作。
要安装远程开发支持:
- 安装 VS Code Remote Development Extension Pack。
- 如果远程源文件托管在WSL中,请使用WSL扩展。
- 如果您正在使用SSH连接到远程机器,请使用Remote - SSH扩展。
- 如果远程源文件托管在容器中(例如,Docker),请使用Dev Containers扩展。
使用AI增强补全功能
GitHub Copilot 是一个由AI驱动的代码补全工具,可以帮助您更快、更智能地编写代码。您可以在VS Code中使用GitHub Copilot扩展来生成代码,或者从它生成的代码中学习。
GitHub Copilot 为多种语言和广泛的框架提供建议,尤其适用于 Python、JavaScript、TypeScript、Ruby、Go、C# 和 C++。
您可以在Copilot 文档中了解更多关于如何开始使用 Copilot 的信息。
反馈
如果您在使用 Microsoft C/C++ 扩展时遇到任何问题或有任何建议,请在 GitHub 上提交问题和建议。如果您尚未提供反馈,您可以参与这个 快速调查。