在sublime侧边栏隐藏node_modules等文件夹,需在project settings的folders中配置folder_exclude_patterns:["node_modules","dist","build"];文件过滤用file_exclude_patterns:[".log",".tmp",".ds_store"];修改后须手动refresh folder或重启项目。

怎么在 Sublime 的侧边栏里隐藏 node_modules 这类文件夹
直接改 folder_exclude_patterns 就行,这是最常用也最有效的路径过滤方式。它作用于整个项目根目录下的子目录,匹配的是文件夹名(不是完整路径),不区分大小写。
常见错误是把 node_modules 写成 ./node_modules 或 /node_modules —— 这俩都无效,Sublime 只认纯文件夹名。
- 打开
Preferences → Settings – Project(注意是 Project,不是 User) - 在右侧 JSON 里加这一段(如果已有
"folders"块,就往里面插):
"folders": [
{
"path": ".",
"folder_exclude_patterns": ["node_modules", "dist", "build"]
}
]
多个项目时,每个 "folders" 对象可单独配自己的排除规则;folder_exclude_patterns 不影响文件搜索(Ctrl+Shift+F 仍能搜到这些目录里的内容),只控制侧边栏显示。
想按后缀隐藏 .log、.tmp 这类临时文件怎么办
用 file_exclude_patterns,它匹配的是文件名(含后缀),支持通配符 * 和 ?,但不支持正则。
容易踩的坑:误以为 *.log 能匹配多级子目录下的所有 .log 文件——其实可以,因为它是递归生效的;但如果你写了 log(没带点和星号),就会把所有含 “log” 字样的文件(比如 blog.md)都干掉。
-
"file_exclude_patterns": ["*.log", "*.tmp", ".DS_Store"]是安全写法 - 想排除某类文件但保留同名目录?没问题,
file_exclude_patterns只管文件,不影响文件夹 - 如果同时用了
folder_exclude_patterns和file_exclude_patterns,它们互不干扰,各自过滤
为什么改了设置侧边栏还是不刷新
Sublime 不会自动重载项目配置,改完 Settings – Project 后必须手动触发刷新。
- 保存文件后,关闭再重新打开项目(最稳)
- 或者用快捷键
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Refresh Folder回车 - 别指望右键侧边栏“刷新”——那个只是刷新当前展开节点,不读新配置
另外注意:如果项目是通过 Add Folder to Project 加进去的,那它的配置优先级高于根项目的 Settings – Project,得去对应文件夹的配置块里改。
全局排除(所有项目都生效)要不要设
可以设,但不推荐无差别加进 Preferences → Settings – User。全局规则对所有项目一视同仁,容易误伤。
比如你在 User 设置里加了 "file_exclude_patterns": ["*.pyc"],看起来很合理——但某些 Python 项目依赖 .pyc 加速启动,或者你正在调试编译流程,这时候它就成障碍了。
- 真正适合全局排除的,只有极少数跨语言通用垃圾,比如
".DS_Store"、"Thumbs.db" - 其他一律建议写在项目配置里,用
Settings – Project - User 设置里的
folder_exclude_patterns会影响“打开文件夹”对话框里的初始列表,但不会影响已加载项目的侧边栏
复杂点在于:同一个文件名可能既是临时文件又是源码(比如 config.js 和 config.local.js),靠后缀排除容易一刀切。这种时候就得退回去,用项目级配置 + 更精确的命名习惯来解决。











