atom 启动时自动打开上次项目需设置 core.restorepreviouswindowsonstart: true;.log 等后缀高亮需在 customfiletypes 中映射到合适 grammar(如 source.shell);单击打开文件需启用 tree-view.openfileswithoneclick: true;config.cson 不生效常因缩进错误、配置位置不当或项目级配置覆盖。

如何让 Atom 启动时自动打开上次项目
Atom 默认不恢复会话,关掉窗口再开就是空白界面——这不是 bug,是设计如此。要让它记住上次打开的文件夹或项目,得靠 core.restorePreviousWindowsOnStart 配置项。
- 打开
~/.atom/config.cson(macOS/Linux)或%USERPROFILE%\.atom\config.cson(Windows) - 在
core:区块下添加一行:restorePreviousWindowsOnStart: true - 确保没有其他插件(如
project-manager)冲突覆盖该行为;如果装了,建议关掉它的自动恢复功能,否则可能重复加载或卡顿
注意:这个选项只恢复「窗口」和「打开的文件夹路径」,不恢复未保存的编辑内容(那是 autosave 插件管的事)。如果你关窗前有未保存文件,重启后它们不会回来——除非你也开了 core.continueSaveDialogOnExit: true 并手动点了“稍后保存”。
怎么让 .log、.pc 等非标准后缀按指定语法高亮
Atom 不认识的后缀默认当纯文本处理,光标乱跳、没折叠、搜索也弱。解决方法不是改文件关联系统,而是告诉 Atom:“这个后缀 → 用某语言模式解析”。
- 在
config.cson的core:下加customFileTypes:块 - 写法必须是
"source.c": ["pc"]这种结构:左边是 Atom 内建的 grammar scope(比如source.c、source.python),右边是后缀数组(不带点) - 常见 scope 名可查
Grammar Selector插件,或打开一个已正确高亮的同类文件,按Cmd+Shift+P输入 “Developer: Toggle Developer Tools”,在 Elements 面板里看atom-text-editor元素的data-grammar属性值
容易踩的坑:"text.plain": ["log"] 看似合理,但 text.plain 没有代码折叠/智能缩进能力;应优先选 source.log(需装插件)或退而求其次用 source.shell(对日志类文本兼容性更好)。
双击打开文件 vs 单击预览:怎么控制标签页行为
Atom 默认双击打开新标签页,单击只是预览(hover 一下就消失),这在快速浏览项目结构时很烦人。开关就在配置里,但名字藏得有点深。
- 配置项是
core.openEmptyEditorOnStart(控制启动空编辑器)和tree-view.focusOnReveal(控制树形视图单击行为)——但真正管“单击是否打开文件”的是tree-view.openFilesWithOneClick - 设为
true:单击即打开,双击无额外效果(等同于旧版习惯) - 设为
false(默认):单击预览,双击才正式打开;此时若想临时强制打开,可按住Ctrl(Windows/Linux)或Cmd(macOS)再单击
这个设置不影响快捷键(比如 Enter 在 tree-view 中始终是打开),也不影响拖拽打开行为。如果你发现单击没反应,先检查是否误启用了 vim-mode-plus 或类似插件的“聚焦模式”,它会劫持 tree-view 的点击事件。
为什么改了 config.cson 没生效?常见失效场景
Atom 的配置加载顺序和作用域比看起来复杂,改完不生效往往不是语法错,而是被更高优先级规则覆盖了。
-
config.cson里的配置项必须严格缩进对齐(CSON 对空格敏感),多一个空格或混用 tab 就整个区块失效,且 Atom 不报错——推荐用 Atom 自带的Settings View修改,它会校验格式 - 插件自己的配置(如
linter-eslint的eslintrcPath)不能写在core:下,必须写在对应插件名的区块里,例如"linter-eslint": - 某些设置(如
editor.fontFamily)会被主题或styles.less里的 CSS 强制覆盖,此时改 config 不起作用,得去样式文件里加atom-text-editor { font-family: ... !important; }
最隐蔽的问题:Atom 启动时会加载多个 config 层级(全局、用户、项目级),项目根目录下的 .atom/config.cson 会覆盖用户级配置——很多人在项目里调试时忘了删测试配置,结果切到别的项目也继承了奇怪行为。










