Atom 编辑器在多项目支持方面一直是开发者热议的话题。许多开发者习惯借助 project-manager 管理多个项目工作区,但升级到 Atom 1.60+ 后会发现此路不通——原因并非网络或权限问题,而是官方移除了底层 API,导致旧插件无法继续兼容。此时唯一的解决方案是改用 project-plus。本文将详细讲解几个关键操作,包括如何保存工作区、如何处理目录树空白、如何让忽略文件真正生效,以及一个容易被忽视的细节。
Atom 1.60+ 无法使用 project-manager 的解决方案
如果你正在使用 Atom 1.60 或更高版本(可通过运行 atom --version 确认版本号),执行 apm install project-manager 必然会失败,并提示 No a vailable version compatible with your Atom version。这并非网络或权限问题,而是官方已移除该插件所依赖的底层 API(例如 atom.project.addPath),导致插件无法恢复兼容性。
常见的错误尝试包括反复重装、降级 Atom 到 1.59.x、手动编辑 ~/.atom/projects.cson——这些方法要么完全无效,要么带来安全隐患或导致新插件不兼容。对于 Atom 1.60+ 用户,唯一可行的方案是改用 project-plus(执行 apm install project-plus)。该插件不读取 projects.cson,不依赖旧版 API,直接对接 Atom 当前的 atom.project 接口。安装后无需额外配置,使用快捷键 Cmd+Alt+P(macOS)或 Ctrl+Alt+P(Win/Linux)即可快速调出项目切换面板。
project-plus 保存与加载多项目工作区的完整指南
很多开发者误以为 project-plus 的“保存”功能只需在命令面板中点击一下即可,实际上并非如此。该插件默认仅记录当前已添加的所有根目录,且每次启动时不会自动恢复——需要手动触发加载。正确的操作流程如下:
- 首先通过
Project → Add Project Folder(快捷键Cmd+Shift+O/Ctrl+Shift+O)将所有需要管理的目录添加到项目中。 - 按下
Cmd+Alt+P打开项目面板,选中当前组合 → 按Enter或点击Sa ve current workspace进行保存。 - 命名时尽量避免使用空格和特殊字符(例如
my-backend是可以的,但my backend或my-backend!会导致模糊搜索失效)。 - 下次启动 Atom 后,再次按
Cmd+Alt+P,输入保存的名称即可一键加载所有根目录及其各自最近打开的文件标签页。
需要注意的是,project-plus 不会同步打开的面板布局或光标位置,仅保存项目路径和文件标签页状态。
Tree View 目录树为空?三步排查方法
即使安装了 project-plus,左侧目录树仍然为空,这通常不是插件本身的问题,而是 Atom 底层的 Tree View 未激活或未正确加载项目。需要同时满足以下三个条件:
tree-view包在 Settings → Packages 中必须处于 Enabled 状态(而非灰色的 Disabled 状态)。- 项目需要通过
Project → Add Project Folder方式添加,而不是拖拽文件夹到窗口或双击单个文件。 - Tree View 面板需要获得焦点:按
Cmd+0(macOS)或Ctrl+0(Win/Linux)强制切换过去,再按Cmd+\`进行显示/隐藏操作。
如果右键树视图空白处没有菜单弹出,或 Cmd+\` 无响应,通常是因为焦点不在 Tree View 上;若已启用 vim-mode,需要先按 Esc 退出插入模式再进行操作。
忽略文件不生效?两层开关必须同时开启
若希望 node_modules、dist、.DS_Store 等文件不在 Tree View 中显示,仅在 Settings → Core → Ignored Names 中填写是不够的,还需要完成以下两项设置:
- 在
Ignored Names输入框中填写精确的名称(例如node_modules、dist),不支持通配符(*.log无效)或路径(build/**无效)。 - 进入
Packages → tree-view → Settings,勾选Hide Ignored Names选项。 - 如果是 Git 仓库,还可以额外勾选
Hide VCS Ignored Files,这样.gitignore中的条目也会被隐藏(其优先级低于Ignored Names列表)。
修改完设置后无需重启 Atom,但需要手动触发一次 Tree View 刷新:按 Cmd+\` 隐藏后再显示,或者右键空白处选择 Reload Tree View。
真正容易被忽视的细节是:Atom 内置的 Project Viewer 虽然支持添加多个项目文件夹,但完全无法跨会话持久化——每次重启后仅保留最后一个添加的目录。而 project-plus 的“保存工作区”功能本质上是将当前 atom.project.getPaths() 的快照写入自身的 JSON 文件,一旦项目路径发生移动或重命名,就需要重新保存。了解这一点后,就不会再为“工作区又丢了”而烦恼了。
