应先运行atom --safe进入安全模式确认是否为插件导致;若正常,则用apm list --installed --bare记录已装插件,再按启用时间倒序禁用最新插件逐一排查。

用 atom --safe 快速确认是不是插件惹的祸
Atom 卡顿、打字延迟、滚动掉帧,八成是插件在后台抢资源。最省事的办法就是绕过所有第三方包,只跑 Atom 自带功能:atom --safe。这个命令会跳过 ~/.atom/packages/ 下所有插件,连 node_modules 都不加载。
如果 atom --safe /path/to/big.log 秒开不卡,而正常启动就卡死,问题 100% 出在插件上——别调 config,先清包。
- 执行
apm list --installed --bare记下当前装了哪些包,方便后续回滚 - 不要只点 UI 上的 “Disable”,直接用
apm uninstall linter-eslint彻底卸载,避免残留 node_modules 引发模块加载冲突 - 禁用顺序优先级:最近更新或新装的插件 > 启用时间倒序排列(Settings → Packages → 右上角排序按钮)
哪些插件必须立刻卸载或禁用
不是所有插件都“安静”。有些一启动就 spawn 子进程、监听全路径、生成 Canvas 缩略图,大文件下直接拖垮主线程。
-
linter-eslint、linter-tslint:每次按键都触发一次 Node 进程分析,内存常驻 100MB+,非实时检查场景建议卸载 -
minimap:为整份文件生成缩略图,5 万行日志吃掉 600MB 内存,禁用后滚动立刻顺滑 -
file-icons(未启用缓存时):每次展开目录都正则匹配全路径,要么勾选设置页的 “Enable icon caching”,要么卸载 -
atom-ide-ui:自带 LSP,启动重、响应慢,写 JS/CSS 时卡顿可换autocomplete-css等轻量替代
config.cson 里两行硬性配置不能漏
很多人加了 largeFileMode: true 却依然卡死,是因为没关掉真正阻塞主线程的 useTreeSitterParsers。Tree-sitter 对 JSON/YAML/JS 解析更准,但大文件下内存暴涨、首次加载卡住 10 秒以上。
编辑 ~/.atom/config.cson(Linux/macOS)或 %USERPROFILE%\.atom\config.cson(Windows),在 core: 块下明确写:
core: largeFileMode: true useTreeSitterParsers: false
-
useTreeSitterParsers: false必须写在core:下,不是editor:;改完要完全退出 Atom(杀进程),仅关闭窗口不生效 - 已打开的大文件不会自动切换模式,需重新加载
- 副作用是 JSX 嵌套高亮等高级语法提示退化为 TextMate 规则,但对 .log、.csv、.jsonl 类文件无影响
keymap.cson 中快捷键冲突怎么查和修
格式化快捷键(如 ctrl-shift-i)不生效,90% 是被插件覆盖。最直接的方式是用 Keybinding Resolver 实时看谁抢了你的键:ctrl+.(Windows/Linux)或 cmd+.(macOS),然后按你想查的组合键。
- 面板里显示多条匹配,且
Source列分别是emmet、atom-beautify、core→ 高优先级来源压制了低优先级 - 在
keymap.cson中写规则时,selector必须精准,比如用'atom-workspace atom-text-editor:not([mini])'而不是宽泛的'atom-text-editor' - 改完保存后,检查 Settings → Keybindings 搜索该快捷键,确认
Source列是否指向你的keymap.cson—— 路径错误或少引号会导致整段失效
插件冲突的根子往往不在表面报错,而在模块加载阶段就被静默跳过;incompatible-packages 只管编译兼容性,不管逻辑卡死。真出问题,先看开发者工具 Console 里有没有 Failed to activate package 'xxx',那才是第一线索。











