Mac 前端工程师工具链:VSCode、zsh、终端美化与迁移
本文目录
工具链不是把电脑装满,而是让编辑、调试、搜索、提交和部署稳定可复现。以下分成本机观察快照和建议配置:软件版本、许可与适用性会变化。2026-10-16 只读复核这台 macOS 15.7.3(build 24G419)Apple Silicon Mac:应用目录、Homebrew 清单、VS Code CLI、zsh 插件数组、MySQL 服务状态和 Parallels 虚拟机数量均已分别核对。清单只保留公开通用工具,不代表每个人都应照单全装;公司客户端、账号、私有扩展标识和内部配置不放入公开内容。 2026-10-21 做了范围受限的复核:macOS 与架构、VS Code 版本及去重后的扩展 ID 数、Homebrew formula/cask 计数和 Parallels VM 数量均已重新核对;当前快照仍为 macOS 15.7.3(build 24G419,arm64)、VS Code 1.141.0、89 个唯一扩展 ID、118 个 formula、3 个 cask 和 2 台 VM。只统计 VM 数量,没有读取名称或内容,也没有复核每台 VM 状态;zsh 插件仍沿用 10-18 的只读快照,其他 GUI 应用与服务也不宣称每日同步。
本机公开工具快照
- 芯片架构:arm64。
- 应用目录可见的编辑、开发与 AI 助手:Visual Studio Code、IntelliJ IDEA、Xcode、ChatGPT 桌面应用。Android Studio 的 Homebrew cask 元数据仍显示 2024.3.2.14,但
/Applications/Android Studio.app不存在;这属于安装状态不一致,换机前先确认是否需要,不要把 cask 记录当成应用可启动的证明。 - 终端、API 与浏览器:iTerm、Postman、Google Chrome;Safari 属于 macOS 系统应用。
- 虚拟化与系统维护:Parallels Desktop 26.3.0、VirtualBox、Mole 图形应用 1.9.0;
mo命令行工具未安装。Parallels 中有 2 台 VM,其中 1 台识别为 Kali;不在公开清单中记录虚拟机名称。 - 日常辅助:Snipaste、MacZip、uTools;Clash Verge 用作网络代理客户端,开启后要确认退出时恢复系统代理。
- Homebrew 当前记录 118 个 formula、3 个 cask。已核对的开发工具版本包括 Node.js 23.11.0、nvm 0.40.3、pyenv 2.5.7、Maven 3.9.16、MySQL 9.3.0、OpenJDK 26.0.2/17.0.20、ffmpeg 7.1.1_2、scrcpy 3.2、Tesseract 5.5.0_1、Whistle 2.9.98 和 mitmproxy 12.2.3。其余未审查的 cask/包名不放入公开文章。
- 当前 shell 的
node -v与nvm current都是 18.20.8;虽已安装 Homebrew Node 23.11.0,活动 Node 仍由 nvm 选择。Node 18 和 23 在本次复核日都已 EOL,不应作为新电脑的默认运行时;按项目.nvmrc/engines选择受支持 LTS,并复核 Node 官方发行计划。 - MySQL 9.3.0 的 Homebrew 服务当前显示运行中。包已安装不代表服务就该常驻;新电脑按项目需要启动,记录数据目录、备份方式和关闭/升级窗口,不要在迁移时自动恢复所有后台服务。
按工作场景决定是否安装
- 日常前端:Git、编辑器、浏览器、Node 版本管理器和项目指定的包管理器优先;一次只维护一套 Node 管理方式,避免 Homebrew Node 与 nvm 的 PATH 顺序让版本选择变得隐蔽。
- 移动端:Android Studio、scrcpy 和 Xcode 只在需要模拟器、设备调试或 Apple 平台构建时安装;它们会占用大量磁盘和缓存空间。
- 后端与全栈:Maven、JDK、MySQL 与 Postman 按项目需要安装。多个 JDK 并存时显式检查 JAVA_HOME、java -version 和 which java。
- 媒体与识别:ffmpeg、tesseract 是命令行能力,不是图形应用;先用小样本验证编码器、语言包和输出格式。
- 网络调试:Whistle 与 mitmproxy 可能改变系统或浏览器代理行为。结束调试后确认代理关闭;只检查自己拥有或获准的流量,并移除不再需要的调试证书。
- 虚拟化:Parallels 和 VirtualBox 都已安装,但除非确实需要两种虚拟化方案,换机时先选一个主力方案,确认共享网络、磁盘格式和来宾系统可迁移后再增加第二套。
做工具清单时标注用途、是否必须、数据目录和更新来源。能由项目 lockfile 固定的依赖留给项目,GUI 软件只列出确实会用到的;不把一次性安装的排障工具变成默认开机服务。
本机 VS Code 1.141.0 的应用内置 CLI 当前返回 89 个唯一扩展 ID;普通终端里 code 仍尚未加入 PATH。公开扩展文章只列出另行核验过的 36 个公开 Marketplace ID,其余标识不复制到文章。不要整目录搬迁;在命令面板运行 Shell Command: Install code command in PATH 后重开终端验证。需要迁移时优先通过 VS Code Profiles 导出/导入,再检查扩展与设置;Settings Sync 只同步需要的配置类别。可复用扩展和终端设置见 VS Code 与 zsh 配置沉淀。
2026-10-18 只读取 .zshrc 的插件声明及对应 source 行,没有读取其余配置:活动配置只有一组 plugins=(...);活动数组是 git、zsh-autosuggestions、zsh-syntax-highlighting;注释里的 rails、textmate、ruby、lighthouse 是 Oh My Zsh 示例,不在活动数组中。三个插件目录均存在。后面还有两条显式 source 再次加载后两个插件(文件后部又显式 source 一次),存在重复初始化风险。迁移前保留一种加载方式,并让 zsh-syntax-highlighting 最后加载。没有改动本机 shell 配置。上游资料:zsh-autosuggestions(MIT)、autosuggestions 许可证、zsh-syntax-highlighting(BSD-3-Clause)、安装与加载顺序、syntax-highlighting 许可证。
新电脑恢复顺序
- 先完成 macOS 更新、磁盘加密、屏幕锁定和密码管理器配置。
- 安装 Xcode Command Line Tools 与 Homebrew;核对官方安装入口及芯片对应的安装前缀。
- 从经过检查的 Brewfile 恢复命令行包和 cask。先运行 check,再安装;不要一开始运行卸载额外软件的 cleanup。
- 安装 Git 与一个 Node 版本管理器;每个仓库遵循自己的 Node 版本文件和 package.json engines。
- 安装编辑器、终端和 GUI 工具,恢复配置前先将旧配置备份到加密存储。
- 恢复 SSH 公钥配置和 Git 身份;私钥通过受保护的密钥链或安全通道迁移。
- 最后恢复语言环境、项目依赖、模拟器和虚拟机;逐个打开项目验证。
项目级依赖尽量写在仓库里:Node 版本、package manager、锁文件、lint/test/build 命令、环境变量示例和可选服务。个人偏好留在 dotfiles;开发机秘密留在 Keychain 或密码管理器。
用 Homebrew 管理安装清单
在准备保存快照的目录生成 Brewfile。生成结果需要人工删除机器专属 tap、自动启动服务和不再需要的软件,再决定是否提交:
brew bundle dump --file=Brewfile
brew bundle check --file=Brewfile
brew bundle install --file=Brewfile
Brewfile 是软件清单,不是精确版本锁文件;安装可能升级软件。先检查计划。迁移前后可以用 brew list --versions 与 brew services list 对比。不要把私有 tap、带凭据的下载地址或公司代理配置提交进公共 dotfiles。
brew list --versions
brew services list
brew info node nvm pyenv
which -a node python3 java
这组只读检查能回答“包在哪里、版本是什么、服务是否启动、当前 shell 实际会调用哪个二进制”。遇到冲突先查 PATH 和项目约定,不要马上卸载系统工具或删除数据目录。
Mole:清理先预演
本机的 Mole 图形应用已安装(1.9.0),但 mo CLI 当前未安装,Homebrew 也未管理该应用。上游将原生 macOS 应用与开源 CLI 分开发布;brew install mole 安装 CLI,不会安装或替代图形应用。CLI 能查看磁盘占用、清理缓存和部分开发产物,操作可能永久删除文件。确实需要 CLI 时,先核对官方仓库和包信息,再安装并预演:
brew info mole
brew install mole
mo --version
mo clean --dry-run
mo purge --dry-run
不要为了省空间盲删 Xcode、模拟器、虚拟机、数据库、上传资料、node_modules 或构建缓存。先确认是否可重新生成、是否有未提交数据、是否有另一份备份。核对预览的路径和预计收益后再确认;不要授予维护工具不必要的系统权限。
需要逐项理解 clean、uninstall、purge、analyze 的区别和回退边界,可参考Mac 开发环境迁移清单中的 Mole 小节,并以Mole 官方仓库当前说明核对命令。
备份、迁移和验收
- 值得备份:经过脱敏的 dotfiles、Git 配置说明、Brewfile、编辑器配置、项目清单和虚拟机副本。
- 单独保护:SSH 私钥、签名密钥、Cookie、API token、代理凭据、数据库快照、证件和公司数据。使用加密备份,不放进公开仓库或普通网盘。
- 虚拟机要在停止状态下复制完整虚拟机包,并验证备份可以启动;Parallels 快照不是独立备份。
- 验收:克隆个人仓库、安装项目指定 Node 版本、完成 lint/test/build、通过 SSH 指纹验证连接个人服务器,并验证恢复点。
- 抓包或调试工具只用于自己拥有或获准的设备和请求;导出报告前删除 Cookie、Authorization 与个人数据。
官方资料
- Homebrew 与 Brewfile / Bundle。
- VS Code 设置同步:同步前检查选中的数据类别。
- VS Code 命令行:macOS 的
code命令需要从命令面板单独加入 PATH。 - Node.js 发行计划与 EOL:不要把偶数版本号、Homebrew 已安装或本机可运行误当作仍受支持。
- zsh 数组参数:确认数组赋值、追加与替换行为。
- Mole 官方仓库:区分独立图形应用和开源 CLI,列出 Homebrew 安装及
--dry-run预演;命令会随版本变化。 - Apple 平台安全指南:按当前 macOS 文档配置系统安全。
Live Notes
留言提交后会先进入审核,审核通过后对其他读者公开。