sublime怎么在侧边栏显示隐藏文件_sublime文件过滤规则设置【指南】

8次阅读

要让侧边栏只显示.py和.md文件,需在项目配置中用file_exclude_patterns排除所有非目标类型;必须使用.sublime-project文件配置,不可用全局设置,且排除列表需手动列全无关后缀。

sublime怎么在侧边栏显示隐藏文件_sublime文件过滤规则设置【指南】

sublime text 侧边栏**默认不显示被过滤的文件**,它没有“显示隐藏文件”开关——所谓“隐藏”,是靠 file_exclude_patternsfolder_exclude_patterns 主动排除实现的。你无法一键反向展开所有被过滤项,但可以精准控制哪些该留、哪些该藏。

怎么让侧边栏只显示 .py 和 .md 文件?(反向白名单思路)

Sublime 没有原生的“只显示”选项,但可用“排除一切非目标类型”的方式模拟白名单效果。这适合项目结构清晰、类型固定的场景(比如纯文档仓库或 python 脚本集)。

  • 必须基于项目配置(.sublime-project),不能用全局设置,否则会误杀其他项目里的 .js.html
  • 手动列出所有你想屏蔽的后缀,漏掉一个,它就可能冒出来——比如忘了 *~vim 临时文件)或 .swp(Swap 文件)
  • 通配符 * 是贪婪匹配,*.min.js 会匹配 main.min.js,但 min.js 不会被匹配
{   "folders": [     {       "path": ".",       "file_exclude_patterns": [         "*.html", "*.css", "*.js", "*.json", "*.xml",         "*.png", "*.jpg", "*.pdf", "*.docx",         "*~", "*.swp", "*.tmp", "*.log"       ]     }   ] }

为什么改了设置侧边栏还是空?(常见路径与权限陷阱)

侧边栏变空 ≠ 配置没生效,更可能是 Sublime 根本没读到目录内容。尤其在 macOS 或 WSL2 环境下容易踩坑。

  • folder_exclude_patterns 里写了 ".*" —— 这会把当前目录下所有以点开头的文件夹(包括 .git)全干掉,但若你项目根目录本身就是 ~/myproject,而 ~ 下还有 .config.local 等,可能整个路径被误判为空
  • File → Open File… 打开单个文件时,侧边栏天然无内容;必须用 File → Open Folder… 或已加载 .sublime-project,否则 folders 配置根本不参与解析
  • linux/macOS 下挂载的网络盘、APFS 快照卷、或 WSL2 中跨发行版访问的路径(如 /mnt/c/Users/xxx),Sublime 默认不支持读取,侧边栏就会静默为空

全局设置 vs 项目设置:谁优先级更高?

项目设置永远覆盖全局设置。这是关键前提,否则你会纳闷“为什么我在用户设置里删了 node_modules,但前端项目里它还在”。

  • 全局设置写在 Preferences → Settings 右侧(用户设置),影响所有打开的文件夹
  • 项目设置写在 Project → Edit Project 打开的 JSON 里,只对当前 .sublime-project 生效
  • 如果你同时在全局和项目中都设了 file_exclude_patterns,Sublime **不会合并两个数组**,而是直接用项目里的值——全局的那部分完全失效

所以想保留通用规则(如隐藏 .DS_Store.log),又想为某项目额外加规则(如前端项目再加 dist/),就得把通用 + 特殊一起写进项目配置里。

临时查看被过滤的文件?别指望右键菜单

原生 Sublime Text **没有 “Show Hidden Files” 右键选项**。网上有些教程提到这个菜单,其实是依赖插件(如 SideBarEnhancements)添加的,不是内置功能。

  • 想确认某个 .log 文件是否真被过滤,最可靠方法是:按 Ctrl+P(Cmd+P)打开快速跳转,输入文件名,它仍能搜到并打开——说明只是侧边栏不显示,文件本身完全可用
  • 如果确实需要临时展开,唯一办法是注释掉项目配置里的 file_exclude_patterns 行,保存后侧边栏立刻刷新;改完再取消注释即可
  • 不要尝试修改 follow_symlinksbinary_file_patterns 来“绕过”过滤——它们控制的是索引与搜索行为,不影响侧边栏显示逻辑

真正容易被忽略的一点:Sublime 的“过滤”是纯显示层操作,不改变文件系统行为,也不影响 goto Anything、Find in Files 或 Build System 对这些文件的访问。但正因为太安静,你可能会在调试时忘了自己亲手把 .envconfig.yml 加进了 file_exclude_patterns,结果死活找不到它在哪——这时候翻一眼前面那个 JSON 配置,比重启十次都管用。

text=ZqhQzanResources