2.配置#

下载并解压学习模板#

请选择以下三种学习模板之一下载:

  • cpp_novice: 不学习天鹅书的人使用.

  • ppp2_novice: 学习《Programming: Principles and Practice, 2nd Edition》(天鹅书第二版) 的人使用.

  • ppp3_novice: 学习《Programming: Principles and Practice, 3rd Edition》(天鹅书第三版) 的人使用.

记得解压缩! 记得解压缩! 记得解压缩!

  • Windows: 右键 该文件, 然后选择 提取 以提取文件.

  • MacOS: 双击 该文件以提取文件.

警告

  • 这里写的都是系统内置的解压缩方法, 如果有其他压缩软件请随意.

  • 解压在全英路径, 且文件夹名不要有奇怪的标点符号乃至空格!

  • 不要图省事解压到桌面, 以免因用户名有中文或过于奇怪而出错!

打开文件夹#

打开 VSCode, 点击左上角的 文件(File) ‣ 打开文件夹...(Open Folder...), 然后在弹出的窗口中选择之前解压得到的 cpp_novice 文件夹. 当然, 你可能解压得到的是 ppp2_novice 或 ppp3_novice 文件夹.

备注

  • 解压时, 有可能最终得到一个 cpp_novice 文件夹其中又包含一个 cpp_novice 文件夹的情况; 如果出现这种情况, 应该选择的是内层的 cpp_novice 文件夹.

  • 如果没有找到 cpp_novice 文件夹, 请确认自己下载 并解压 了学习模板.

在弹出的界面中选择 是,我信任此作者(Yes, I trust the authros).

../_images/VSCode_%E5%AE%89%E5%85%A8%E6%80%A7.png

安全性提示#

导入配置文件#

备注

2024-09 更新的 VSCode 1.93 更改了配置文件界面. 如果你使用的是老版本, 请点击窗口左下角的 齿轮, 点击 配置文件(Profiles) 来更新你的 VSCode.

点击窗口左下角的 齿轮, 点击 配置文件(Profiles).

备注

如果窗口左下角没有齿轮, 请尝试通过 Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 toggle activity bar 以找到 查看:切换活动栏可见性(View: Toggle Activity Bar Visibility), 回车.

在弹出的窗口中, 点击蓝色按钮右边的下三角下拉按钮, 选择 导入配置文件...(Import Profile...).

../_images/VSCode_%E5%AF%BC%E5%85%A5%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png

导入配置文件#

然后, 在弹出的新窗口中, 点击 选择文件..., 然后选择你解压的 cpp_novice 文件夹下的 cpp_novice.code-profile.

然后在窗口中点击 创建 来完成该配置文件的导入.

../_images/VSCode_%E7%A1%AE%E5%AE%9A%E5%88%9B%E5%BB%BA%E5%AF%BC%E5%85%A5%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png

确定创建导入的配置文件#

切换至配置文件#

点击窗口左下角的 齿轮, 选择 配置文件(Profiles).

在弹出的窗口中, 点击 cpp_novice 旁的 对勾符号✓ 从而切换为使用 cpp_novice 配置文件. 此外, 你还能点击 cpp_novice, 然后在右侧选择让它作为默认配置.

../_images/VSCode_%E5%88%87%E6%8D%A2%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.png

切换配置文件#

备注

此时齿轮旁显示 CP, 表明确实加载该配置文件; 以后在使用中也请注意切换.

切换后, 用于调试程序的 CodeLLDB 插件将会下载它所需的包. 在它下载完之前, 我们无法调试程序, 但这不影响我们继续配置.

../_images/VSCode_CodeLLDB%E4%B8%8B%E8%BD%BDpackage.png

CodeLLDB 下载所需的包#

备注

CodeLLDB 所需的包需要通过 github 下载, 因此很容易下载失败. 如果 CodeLLDB 下载失败, 请查询如何成功访问 github (例如 "steam++工具箱" 中可以选择加速 github 访问) 然后重启 VSCode.

或者如果你觉得自己网络没有问题, 你可以尝试点击按钮手动下载, 然后通过 Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 vsix 以找到 扩展: 从 VSIX 安装..., 回车, 在弹出的窗口中选择刚刚点击按钮下载到的文件.

../_images/VSCode_CodeLLDB%E4%B8%8B%E8%BD%BDpackage%E5%A4%B1%E8%B4%A5.png

CodeLLDB 下载所需的包失败#

../_images/VSCode_CodeLLDB%E4%B8%8B%E8%BD%BDpackage%E5%A4%B1%E8%B4%A5%E6%97%B6%E7%9A%84%E8%BE%93%E5%87%BA.png

CodeLLDB 下载所需的包失败时的输出#

错误

切换配置文件后, 右下角可能弹出如下通知, 询问你是否安装 clangd (Would you like to download and install clangd x.x.x?), 请不要安装! 我们已经通过其他方式安装好了 clangd, 而 VSCode 提示的版本存在一定的问题, 会导致之后步骤中配置失败.

../_images/VSCode_%E8%A2%AB%E6%8E%A8%E8%8D%90%E5%AE%89%E8%A3%85clangd.png

被推荐安装 clangd#

如果意外点击, 请点击窗口左下角的 齿轮, 选择 设置(settings). 在弹出的窗口中搜索 clangd path, 将其内容改回 clangd.

../_images/VSCode_%E6%9B%B4%E6%94%B9clangd%E8%B7%AF%E5%BE%84.png

更改 clangd path#

WSL 专属步骤: 用 WSL 打开该文件夹#

危险

VSCode 远程窗口 (例如 WSL) 专属步骤, 其他配置方案请忽略这一部分 往下接着看.

Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 wsl open 以找到 WSL: 在 WSL 中打开文件夹..., 回车, 并选择该 cpp_novice 文件夹.

../_images/WSL_%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E5%A4%B9.png

在 WSL 中打开文件夹#

在左边侧边栏找到 扩展(Extensions).

可以发现, 部分扩展需要我们在远程窗口手动安装, 为此我们点击下方 WSL:UBUNTU - 已安装 旁的 云状图标, 在弹出的窗口中全选从而下载.

../_images/%E4%B8%BA%E8%BF%9C%E7%A8%8B%E7%AA%97%E5%8F%A3%E5%AE%89%E8%A3%85%E6%89%A9%E5%B1%95.png

为远程窗口安装扩展#

为 CMake 选择编译器#

重新启动 VSCode, 如果前面的操作无误, 将会弹出如下图选项: (如果失败, 请看下面的备注)

  • Windows WSL: 选择 Clang 即可, 请注意选择 /home/linuxbrew 下的版本.

  • Windows MSYS2: 选择 Clang 即可, 请注意选择 msys2 安装路径 (默认为 C:\msys64) 下的版本.

  • MacOS: 系统自带有 Clang 编译器, 请注意选择 homebrew 路径下的版本.

  • Linux: 选择 Clang 即可.

../_images/WSL_%E9%80%89%E6%8B%A9%E7%BC%96%E8%AF%91%E5%99%A8.png

备注

如果没有弹出, 请

扫描工具包

Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 cmake kit 以找到 CMake: 扫描工具包, 回车.

选择工具包

Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 cmake kit 以找到 CMake: 选择工具包, 回车.

配置 CMake

Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 cmake configure 以找到 CMake: 配置, 回车.

备注

如果配置失败或没有找到对应的编译器, 请

  1. 复查之前 (包括 "1.下载和安装") 有没有遗漏步骤, Windows MSYS2 要尤其检查一下之前步骤中环境变量有没有设置上;

  2. 删除 build 文件夹 (如果有的话);

  3. 重新扫描工具包、选择工具包和配置 CMake.

../_images/CMake%E9%85%8D%E7%BD%AE%E5%A4%B1%E8%B4%A5.png

CMake 配置失败#

如果配置成功, 输出 中将会显示有以下两行:

[cmake] -- Configuring done (??.??s)  <- 显示的时间可能不同
[cmake] -- Generating done (??.??s)

配置完成#

打开 test 文件夹下的 main.cpp, 通过 Ctrl-Shift-PCommand⌘-Shift-P 打开命令菜单, 输入 clangdr 以找到 clangd: Restart language server, 从而刷新配置.

备注

当你的 C++ 源代码莫名其妙显示错误信息时, 通过该步骤可能得到解决.

../_images/VSCode_%E5%88%B7%E6%96%B0_clangd.png

刷新 Clangd#

现在配置已经完成了, 但 配置仅在 VSCode 打开这个学习模板文件夹时有效, 而不能 (也不该 2VSCode 打开一个像学习模板这样有一个 CMakeLists.txt 文件的文件夹, 就是认为该文件夹构成了一个 C++ 代码项目, 每个项目都是且应该是独立的, 其配置自然不应该共享. 如果需要在其他文件夹中应用配置, 请看 对学习模板的解释.) 应用于其他文件夹. 这对于初学者没有什么影响, 你本来就是用这个 cpp_novice 文件夹作为学习 C++ 所用的文件夹.

运行、调试代码和添加更多程序的方法见下文.