Atom多项目管理必须用Add Project Folder(Cmd+Shift+O),拖拽无效;添加的根目录并列显示、互不嵌套;Project: Switch Project仅切换已显式添加的根目录;内置项目状态不持久,需用project-plus插件保存工作区;性能卡顿主因是全量扫描,应避免添加node_modules等构建目录。

Atom 多项目添加只能用 Add Project Folder,不能拖拽
Atom 不响应窗口区域的拖入事件,右键文件夹 → Reveal in Finder 再拖进编辑器完全无效。每次必须手动执行 Project > Add Project Folder(macOS 快捷键 Cmd+Shift+O,Windows/Linux 为 Ctrl+Shift+O),一次加一个目录。加几次,树视图顶部就并列显示几个独立根节点;它们不嵌套、不合并,彼此隔离。
常见误操作:
- 试图用 File > Open 多选多个文件夹 → 只加载最后一个
- 把整个 workspace 文件夹拖进去 → Atom 当作单个根目录,不会自动识别子项目
- 添加了 /src/web 后,再加 /src/web/api → 后者会作为新顶层节点出现,不是子目录
Project: Switch Project 命令只列出当前已添加的根目录
这个命令不是历史记录,也不是“最近打开过的任意路径”——它只显示你本次会话中通过 Add Project Folder 显式加入的那些根目录。如果没加过,菜单就是空的。
使用场景很具体:
- 你刚加了 A、B、C 三个项目,想从 A 快速跳到 C,就 Cmd+Shift+P → 输入 Project: Switch Project → 方向键选 C → 回车
- 切换后,焦点移到 C 的树视图顶部,并尝试激活 C 下最近打开的某个标签页
- 如果 C 下没有任何已打开的文件,编辑区会变空,必须手动双击打开
注意:Cmd+Tab(macOS)或 Ctrl+Tab(Win/Linux)不会跨项目切换,它只在当前面板内循环最近访问的项目项(如标签页、搜索结果、树视图),不跨面板、不跨项目。
重启后只剩最后一个项目?必须用 project-plus 持久化
Atom 内置的 Project Viewer(1.58+ 自带)所有项目状态存在内存里,关掉就清空。1.60+ 版本已彻底移除 project-manager 所依赖的底层 API,装了也报错:No available version compatible。唯一稳定替代是 project-plus:
- 安装:
apm install project-plus,安装后必须重启 Atom - 添加项目:
Cmd+Shift+P→Project Plus: Add Project Folder,每加一个都要选路径、确认命名(建议用短横线,如api-v2) - 保存工作区:
Cmd+Shift+P→Project Plus: Save Workspace,起名如fullstack-workspace - 下次启动:
Cmd+Alt+P(macOS)或Ctrl+Alt+P(Win/Linux)呼出切换面板,直接选已保存的工作区
关键细节:
- project-plus 保存的是「当前已添加的根目录列表」,不是打开的文件或标签页状态
- 切换时不会自动恢复上次打开的文件,只聚焦到对应项目的树视图顶部
- 项目名含空格或特殊字符可能让快捷键触发异常,中文可支持但不推荐用于命名
多项目下性能卡顿?优先砍掉 node_modules 和构建目录
每个添加的根目录都会触发 Atom 全量扫描其子树。哪怕你在 core.ignoredNames 里写了 node_modules,首次加载时仍会卡顿、CPU 拉满——因为忽略规则在扫描之后才生效。
实际影响包括:
- Cmd+P 模糊搜索范围扩大,响应明显变慢
- 树视图渲染压力增加,尤其 macOS 上滚动易卡顿
- 插件如 atom-ctags 会对每个根目录单独建索引,重复消耗 I/O 和内存
建议:
- 非源码目录(如 dist/、build/、.next)坚决不添加
- 真要查构建产物里的内容,用终端 rg 或 find 更快更稳
- Atom 的“项目”概念不感知 Git 仓库边界,也不绑定语言服务作用域——别指望它像 VS Code 那样自动按 repo 划分上下文

















