直接改file_exclude_patterns即可,这是唯一控制侧边栏文件显示的原生配置;需在项目模式(Open Folder或加载.sublime-project)下生效,改后须手动Refresh Folder,且仅支持glob匹配文件名(如*.log、.env),不支持正则,项目级配置优先并覆盖全局。

直接改 file_exclude_patterns 就行,这是唯一能控制「哪些文件不显示在侧边栏」的配置项。它不删文件、不影响编辑和搜索,只管侧边栏视觉过滤。
为什么改了 file_exclude_patterns 侧边栏还是没变化
最常见原因是:你根本没在项目上下文里工作。Sublime 的侧边栏只在「打开文件夹」或「加载 .sublime-project 文件」时才生效;用 File → Open File… 打开单个文件,侧边栏天然为空——这不是 bug,是设计逻辑。
- 检查左上角菜单栏是否显示 Project → Edit Project(有这个选项,说明当前是项目模式)
- 如果只是打开了一个 .py 或 .js 文件,侧边栏不会显示任何内容,此时改任何
file_exclude_patterns都无效 - 必须先
File → Open Folder…加载整个目录,或Project → Save Project As…生成 .sublime-project 文件 - 改完配置后,必须手动刷新:快捷键
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Refresh Folder回车
file_exclude_patterns 的匹配规则和常见写法
它只支持 glob 风格通配符,不支持正则;匹配的是文件名(含后缀),不是路径,且区分大小写。
-
"*.log"✅ 匹配app.log、error.log,也递归匹配子目录下的所有 .log 文件 -
".env"✅ 匹配根目录下的.env文件(注意:不是隐藏所有以 .env 开头的文件) -
"*.env"✅ 匹配dev.env、.env.local等 -
"log"❌ 会误杀blog.md、dialog.ts—— 因为它匹配任意含 "log" 字串的文件名 -
"^.env"或".*"❌ Sublime 完全忽略,不报错也不生效 - 想保留同名目录?没问题:
file_exclude_patterns只影响文件,.gitignore被过滤,但.git/文件夹照常显示(除非你也在folder_exclude_patterns里写了".git")
项目级 vs 全局设置:哪个该用
优先用项目级配置。全局设置(Preferences → Settings 用户设置)看似省事,但容易误伤其他项目——比如你在前端项目里加了 "*.pyc",结果 Python 项目里 .pyc 文件也消失了。
- 项目级:打开
Project → Edit Project,在"folders"对象里加"file_exclude_patterns"字段 - 全局级:仅适合真正通用的临时文件,如
"*.tmp"、"*.swp"、".DS_Store" - 注意:项目配置里的
file_exclude_patterns会完全覆盖全局同名配置,二者不合并 - 别往
Preferences → Settings – Default里写——那是只读的,改了也没用
最容易被忽略的一点:即使你开了 "show_hidden_files": true(ST4 才支持),file_exclude_patterns 依然有效——它是在「已显示的隐藏文件」基础上再过滤一遍。所以如果你写了 ".gitignore",那就算 .git 文件夹显示出来了,.gitignore 文件也不会出现。

















