4. Linux 开发环境准备(二):配置 Shell 环境与 VS Code
上一节我们把 Ubuntu 虚拟机跑起来了,也装好了基础工具链。但说实话,光秃秃的终端和默认的 Bash,用起来总感觉差点意思。这一节我们来干两件事:把 Shell 环境武装到牙齿,再把 VS Code 配上远程开发插件。这两步搞定了,你后面写代码、编译、调试会顺手很多。
4.1 升级 Shell 体验:Oh My Zsh 还是 Bash?
我个人习惯用 Zsh + Oh My Zsh。为什么?因为它的自动补全、主题、插件生态,确实比默认的 Bash 强太多。你想想看,每次敲命令都要按 Tab 好几次,或者记不住长长的路径,是不是很烦?Oh My Zsh 能帮你省掉这些琐碎操作。
当然,如果你对 Bash 已经非常熟悉,或者团队统一要求用 Bash,那也完全没问题。我这里把两种方案都讲清楚,你自己选。
4.1.1 方案一:安装 Oh My Zsh(推荐)
先确认系统有没有装 Zsh:
zsh --version
如果没装,用 apt 安装:
sudo apt update
sudo apt install zsh -y
然后安装 Oh My Zsh。官方推荐用 curl 或 wget 一键安装:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装过程中会问你是否要把默认 Shell 切换成 Zsh,选 Y。重启终端后,你会看到一个新的提示符样式,这就对了。
4.1.2 配置 Oh My Zsh 主题与插件
Oh My Zsh 的配置文件在 ~/.zshrc。我个人常用的配置如下:
# 设置主题,我习惯用 agnoster,你也可以试试 robbyrussell
ZSH_THEME="agnoster"
# 启用常用插件
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
web-search
sudo
command-not-found
)
# 如果你安装了 zsh-autosuggestions,记得先克隆插件仓库
# git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
改完配置后,执行 source ~/.zshrc 让它生效。你会立刻感受到变化:输入命令时会有历史建议(灰色文字),按右箭头就能补全;打错的命令会变红,正确的会变绿。嗯,这些小细节,写代码时真的很舒服。
4.1.3 方案二:优化 Bash 配置
如果你坚持用 Bash,也别裸奔。至少把 ~/.bashrc 优化一下:
# 启用颜色输出
export LS_OPTIONS='--color=auto'
eval "$(dircolors -b)"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias la='ls $LS_OPTIONS -A'
# 设置历史命令大小
export HISTSIZE=10000
export HISTFILESIZE=20000
# 启用自动补全增强
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
这样配置后,Bash 的体验会好很多,但跟 Oh My Zsh 比还是有差距。我个人建议你花 10 分钟装一下 Zsh,后面开发会省很多时间。
4.2 安装 VS Code 与远程开发插件
VS Code 是目前最主流的代码编辑器之一,对 HarmonyOS 开发支持很好。我们直接在 Windows/macOS 宿主机上装 VS Code,然后通过 Remote-SSH 插件连接到 Ubuntu 虚拟机里写代码。这样你既能用宿主机流畅的图形界面,又能享受 Linux 的编译环境。
4.2.1 在宿主机安装 VS Code
去 VS Code 官网下载对应系统的安装包,一路默认安装就行。装完后打开,你会看到欢迎页面。先别急着写代码,我们先把插件配好。
4.2.2 安装必备插件
在 VS Code 左侧扩展面板(快捷键 Ctrl+Shift+X)搜索并安装以下插件:
| 插件名称 | 用途 | 是否必须 |
|---|---|---|
| Remote - SSH | 通过 SSH 远程连接到 Linux 虚拟机 | 必须 |
| C/C++ | 代码补全、语法高亮、调试支持 | 必须 |
| Chinese (Simplified) Language Pack | 中文界面(可选,看个人习惯) | 可选 |
| GitLens | 增强 Git 功能,查看代码历史 | 推荐 |
| CMake Tools | CMake 项目构建支持 | 推荐 |
4.2.3 配置 Remote-SSH 连接虚拟机
安装完 Remote-SSH 插件后,按以下步骤配置连接:
- 点击 VS Code 左下角的绿色图标(或按
F1输入Remote-SSH: Connect to Host)。 - 选择
Add New SSH Host,输入连接命令:ssh username@虚拟机IP地址。 - 选择 SSH 配置文件保存位置(默认
C:\Users\你的用户名\.ssh\config)。 - 连接成功后,VS Code 会打开一个新的远程窗口。在远程窗口里打开你的项目文件夹。
第一次连接会提示你输入密码。如果你配置了 SSH 密钥认证,就可以免密登录,省去每次输密码的麻烦。我个人习惯用密钥认证,尤其是在频繁重启虚拟机或切换网络时,体验好很多。
ssh-keygen -t rsa -b 4096,然后把公钥 ~/.ssh/id_rsa.pub 的内容追加到虚拟机的 ~/.ssh/authorized_keys 文件中。
4.3 验证环境:写个 Hello World 试试
环境配好了,我们来验证一下。在 VS Code 远程窗口中创建一个测试文件 hello.c:
#include <stdio.h>
int main() {
printf("Hello, HarmonyOS Device Development!\n");
return 0;
}
按 Ctrl+` 打开终端,编译运行:
gcc hello.c -o hello
./hello
如果看到输出 Hello, HarmonyOS Device Development!,说明你的 Shell 环境、VS Code 远程连接、C 编译工具链全部正常工作。
gcc: command not found,说明上一节的基础工具链没装全。回去执行 sudo apt install build-essential 补上。
4.4 本章知识结构图
下面这张图帮你理清这一节的核心脉络:
4.5 避坑指南
最后分享几个我踩过的坑,你遇到了可以少走弯路:
- SSH 连接超时: 检查虚拟机网络模式是不是 NAT,如果是,改成桥接模式,或者用端口转发。我曾经在 NAT 模式下折腾了半小时,最后发现是 IP 地址没对上。
- Oh My Zsh 主题乱码: 有些主题(比如 agnoster)需要 Powerline 字体支持。去 GitHub 下载安装
Powerline Fonts,然后在终端设置里把字体改成Meslo LG M for Powerline之类的字体。 - VS Code 远程窗口卡顿: 如果虚拟机配置较低(比如只给了 2GB 内存),建议关闭 VS Code 的自动保存和实时语法检查,或者给虚拟机多分点内存。
- 插件安装失败: 检查 VS Code 是不是最新版。旧版本可能不兼容新插件。我遇到过几次,升级 VS Code 后问题就消失了。
好了,这一节的内容就到这里。Shell 环境顺手了,VS Code 也能远程连上虚拟机了,接下来我们就可以正式开始 HarmonyOS 设备开发的代码编写和编译工作了。