应使用 folder_exclude_patterns 配置项,设置为 ["__pycache__", "*.pyc"],以彻底跳过匹配路径的扫描和显示,兼顾性能与可靠性。

如何用 folder_exclude_patterns 隐藏 .pyc 文件
Sublime Text 本身不支持按文件后缀单独隐藏(比如只隐藏 .pyc 但保留其他 .py),必须通过目录/文件名模式匹配来过滤。最直接有效的方式是修改项目或全局的 folder_exclude_patterns 设置,让侧边栏跳过匹配的路径。
注意:这个设置控制的是「整个路径是否被扫描并显示」,不是「显示后加个隐藏样式」——所以它既轻量又可靠。
-
.pyc文件通常出现在__pycache__目录或与源码同级,因此要同时排除这两种情况 - 推荐在项目设置中配置,避免影响其他 Python 项目(比如你可能在某个项目里需要看到
.pyc) - 修改后无需重启,保存即生效;若未立即刷新,可右键侧边栏 →
Refresh Folders
{
"folder_exclude_patterns": ["__pycache__", "*.pyc"]
}
file_exclude_patterns 能不能只隐藏 .pyc?
可以,但它只影响「已加载目录下的文件列表」,对嵌套在子目录里的 .pyc 无效——也就是说,foo/bar.py 旁的 foo/bar.pyc 会被隐藏,但 foo/__pycache__/bar.cpython-39.pyc 不会。
更关键的是:file_exclude_patterns 不会阻止 Sublime 扫描该文件,只是不显示;而 folder_exclude_patterns 是彻底跳过整个匹配路径,性能更好、行为更干净。
- 仅当你要保留
__pycache__目录结构,但不想看到顶层.pyc文件时,才考虑用file_exclude_patterns - 常用值示例:
["*.pyc", "*.pyo", "*.pyd"] - 它不支持正则,只支持 shell-style 通配(
*,**,?)
为什么改了设置却没生效?常见排查点
侧边栏过滤失效,大概率不是配置写错了,而是作用域或优先级问题。
- 检查你改的是哪个配置文件:项目设置(
Project → Edit Project) > 用户设置(Preferences → Settings – User) > 默认设置(只读,别动) -
folder_exclude_patterns和file_exclude_patterns必须放在"settings":{...}块内(项目设置)或根对象里(用户设置) - 如果项目设置了
"folders": [...],确保没有在其中重复定义folder_exclude_patterns并覆盖了外层设置 - Windows 用户注意路径分隔符:Sublime 内部统一用
/,不要写\\或\
进阶:想按语言自动开关隐藏规则?
Sublime 没有内置「按语法类型动态启用排除规则」的功能,但可以通过插件或构建系统间接实现。不过对绝大多数人来说,过度设计反而增加维护成本。
更实际的做法是:为不同类型的项目建独立的 .sublime-project 文件,并各自配好 folder_exclude_patterns。例如 Python 项目默认关掉 __pycache__ 和 *.pyc,而 C++ 项目则加上 build/、out/ 等。
真正容易被忽略的一点是:Sublime 的排除规则不递归继承——父文件夹设了 folder_exclude_patterns,不会自动应用到已添加的子文件夹。每个 "path": "xxx" 都要单独控制。










