atom树视图默认不隐藏.ds_store,需手动开启tree-view的“hide ignored names”选项;ignored names仅支持精确文件/文件夹名匹配,不支持通配符或路径模式。

Atom 默认已忽略 .DS_Store,但树视图仍显示?
Atom 确实默认在 Settings > Core > Ignored Names 里加了 .DS_Store,但这只是「标记为忽略」,不等于「自动隐藏」。Tree View 插件默认不响应这个设置,所以你看到的还是满屏小黄点——这不是 bug,是设计如此。
关键在于:忽略列表(ignored names)和树视图是否隐藏,是两个独立开关。
- 检查
Settings > Core > Ignored Names,确认值包含.DS_Store(默认已有,但可能被手动删过) - 进入
Packages > tree-view > Settings,必须勾选Hide Ignored Names - 如果用的是 Git 项目,
.gitignore里写了.DS_Store,且tree-view的Hide VCS Ignored Files也开着,那它会双重生效——但优先级低于Ignored Names列表
想同时隐藏其他杂项文件(比如 .log、node_modules)?
可以,但得注意语法和层级限制。Atom 的 Ignored Names 只支持「文件名或文件夹名匹配」,不支持通配符或路径模式。例如:
-
node_modules✅ 有效(匹配同名文件夹) -
*.log❌ 无效(不识别*) -
dist/*.js❌ 无效(不支持路径+通配) -
.log✅ 会隐藏所有名为.log的文件(但不会匹配error.log)
真正想过滤 error.log 这类,得靠 .gitignore + Hide VCS Ignored Files,或者换用更灵活的插件如 file-types 或 advanced-open-file。
改完设置没立刻生效?别急着重启
Atom 的 Tree View 不会热重载配置,但也不用关掉整个编辑器。最轻量的办法是:
- 按
cmd-\(macOS)或ctrl-\(Windows/Linux)先隐藏再显示目录树 - 或者右键树视图空白处 →
Reload Tree View(部分版本可见) - 如果仍不更新,检查是否有多个工作区打开——每个窗口的设置是独立的,得逐个确认
常见陷阱:你在主设置里改了 Ignored Names,却忘了进某个特定项目窗口的 Packages > tree-view 去勾选 Hide Ignored Names。Atom 的包设置不是全局同步的。
为什么有时 .DS_Store 还是突然冒出来?
因为 macOS 会在你切换目录、连接外置硬盘、甚至 Finder 预览文件夹时自动生成新的 .DS_Store。Atom 只监听已有文件变化,不拦截系统写入行为。
- 临时解决:终端执行
find . -name ".DS_Store" -delete批量清理(慎用,建议先-print预览) - 一劳永逸:在系统级禁用生成,运行
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true(对网络盘生效)或配合.gitignore+Hide VCS Ignored Files形成防御闭环 - 注意:
tree-view对刚生成的.DS_Store有约 1–2 秒延迟才刷新隐藏状态,不是卡顿
真正容易被忽略的,是「不同窗口各自维护 tree-view 设置」这件事。你在一个项目里调好了,切到另一个用不同配置的项目,又得重新勾一遍——没有统一开关,就得习惯性多看一眼那个勾选框。









