Noob C 其二:在 Windows 上 使用 VS Code 配置 C&C++ 开发环境
前言
本文是笔者面向纯小白的编程教程 Noob C 系列的第二章,主要讲解了如何使用编辑器 VS Code 配置C语言编程环境。如果你对编译器、编辑器这些概念还了解甚少,请先阅读第一章。
下面是教程全集链接:
- Noob C 其一:为什么我使用 Visual Studio Code
- Noob C 其二:在 Windows 上 使用 VS Code 配置 C&C++ 开发环境(本教程)
- Noob C 其三:使用 VS Code 开始编写 C&C++ 代码
- Noob C 外传:令人忍俊不禁 —— 笑点解析之 VS Code + MinGW
为什么选择 WSL (Windows Subsystem for Linux)
在 Win 上用 VS Code 写 C 推荐两种方案,一种是在 WSL 上操作,另一种就是直接把编译器装 Windows 上(MinGW)。
Linux 平台的编程体验好于 Windows,无论是安装依赖还是进行构建之类的操作都很方便。
如果你嫌安装 WSL 麻烦,那你就把我上面提到的的 Noob C 外传过一遍。
VS Code + WSL + GCC/Clang
安装过程较为繁琐,请做好准备。
如何编译出文件在 Windows 上运行
交叉编译(即答)
可以自行搜索教程,或者直接看我的 Noob C 其三:使用 VS Code 在 WSL 上开始编写 C&C++ 代码 中的交叉编译部分。
启用 WSL 和虚拟化
方法一:直接在「启用或关闭 Windows 功能」中打开「适用于 Linux 的 Windows 子系统」和「虚拟机平台」
方法二:在「终端管理员」中输入如下代码;
1 |
|
建议重启电脑确保成功打开。
更新 WSL
终端输入
版本检查:wsl --version
,WSL1需要升级至WSL2
版本更新:wsl --update
,已经是WSL2就不需要更新
也可以 点击这里下载 WSL 更新包
将 WSL2 设置为默认版本:wsl --set-default-version 2
在 WSL 上安装你想要的 Linux 发行版
微软商店安装
适合对Linux一无所知的小白,建议安装Ubuntu(WSL),直接在微软商店搜索Ubuntu,直接安装就可以了,安装完后可能会弹出一个终端让你设置账号密码,不要关闭,后面还有用。
终端输入
查看安装版本:wsl --list --verbose
/ wsl -l -v
终端手动安装(PowerShell)
终端输入
一键启用运行 WSL 并安装默认的 Linux 发行版:wsl --install
默认情况下,安装的 Linux 分发版为 Ubuntu。 可以使用 -d
标志进行更改。
- 若要更改安装的发行版,请输入:
wsl --install -d <Distribution Name>
。 将<Distribution Name>
替换为要安装的发行版的名称。 - 若要查看可通过在线商店下载的可用 Linux 发行版列表,请输入:
wsl --list --online
/wsl -l -o
。 - 若要在初始安装后安装其他 Linux 发行版,还可使用命令:
wsl --install -d <Distribution Name>
。
Windows11 或更高版本可以直接使用 wsl --install <Distribution Name>
安装其他可用的发行版
1 |
|
比如输入 wsl --install -d Debian
就可以在 WSL 中安装 Debian 了。
配置账户密码
使用“开始”菜单打开你安装的该发行版(默认情况下为 Ubuntu)。 系统将要求你为 Linux 发行版创建“用户名”和“密码”。
- 此用户名和密码特定于安装的每个单独的 Linux 分发版,与 Windows 用户名无关。
- 请注意,输入密码时,屏幕上不会显示任何内容。 这称为盲人键入。 你不会看到你正在键入的内容,这是完全正常的。
- 创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。
- 此帐户将被视为 Linux 管理员,能够运行
sudo
(Super User Do) 管理命令。 - 在 WSL 上运行的每个 Linux 发行版都有其自己的 Linux 用户帐户和密码。 每当添加分发版、重新安装或重置时,都必须配置一个 Linux 用户帐户。
若要更改或重置密码,请打开 Linux 发行版并输入命令:passwd
。 系统会要求你输入当前密码,然后要求输入新密码,之后再确认新密码。
如果忘记了 Linux 分发版的密码:
- 请打开 PowerShell,并使用以下命令进入默认 WSL 分发版的根目录:
wsl -u root
- 如果需要在非默认分发版中更新忘记的密码,请使用命令:
wsl -d <Distribution Name> -u
root,并将<Distribution Name>
替换为目标分发版的名称。 - 在 PowerShell 内的根级别打开 WSL 发行版后,可使用此命令更新密码:
passwd <username>
,其中<username>
是发行版中帐户的用户名,而你忘记了它的密码。 - 系统将提示你输入新的 UNIX 密码,然后确认该密码。 在被告知密码已成功更新后,请使用以下命令在 PowerShell 内关闭 WSL:
exit
。
如果你故意不小心跳过了系统自动弹出的账户密码配置终端,那用户名将会默认为 root
,密码为空,也挺不错的,不是么?
安装编译器:GCC or Clang
GCC(GNU Compiler Collection):兼容性好,使用范围更广,拥有更多教程示例,Linux 平台下的默认 C/C++ 编译器
Clang(LLVM’s C Language Family Frontend):运行速度更快,占用内存少,诊断信息可读性强,模块化架构拓展性强
相对来说 GCC 更适合新人上手,相比 clang,你所能查找到的关于如何配置 GCC 环境的教程也更多,推荐先安装 GCC,日后在考虑是否使用 Clang。
GCC
1 |
|
验证安装
1 |
|
Clang
1 |
|
验证安装
1 |
|
安装 VS Code
Download Visual Studio Code ,选择适合自己电脑的版本,安装时碰到「选择附加任务」界面直接全部勾选,安装完毕建议重启电脑以确保环境变量成功添加。
安装 VS Code 插件
请根据自身体验选择合适的插件:
- Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
- 英语渣的福音,用英文界面更能锻炼英语能力哦
- WSL
- 提供对 WSL 的支持
- C/C++ & C/C++ Extension Pack
- 可以自动生成 task.json 并方便地使用调试,使各种命令行工具可以在 VS Code 的图形化界面中使用,自身拥有基础的报错、跳转、代码补全功能
- 点击界面右上角的小三角可以看到「到运行 C/C++ 文件」和「调试 C/C++ 文件」的功能;可以帮助你快速生成配置文件以调试运行
- clangd
- 拥有强大的静态检查功能
- 弹出 clangd Extension 和 C/C++ Extension 的 IntelliSense 冲突的弹窗时候请选择关闭 IntelliSense
- 插件不能独自完成代码分析,需要在 Linux 系统中安装 clangd 包,自动下载如果卡住了需要科学上网或是直接在终端中使用
sudo apt-get install clangd
命令,具体教程请阅读 clangd官方文档
- Code Runner
- 更好的代码运行
- C/C++ Runner
- 更好的代码调试
- CodeLLDB
- C/C++ Runner的前置依赖
- 对 lldb 调试器提供支持
- C/C++ Snippets
- 代码模板,预制菜
- CMake
- 大一C语言基本上只涉及单文件编程,不怎么用的到,可以顺带装上
- VSCodeSnap
- 代码截图插件,比普通截图更美观,“我求求你们不要拍屏了”