直接改file_exclude_patterns可隐藏.tmp、.log等临时文件,它只匹配文件名(含后缀),不影响文件夹和搜索;需写入项目配置才精准生效,修改后须手动Refresh Folder。

侧边栏里怎么隐藏 *.tmp、*.log 这类临时文件
直接改 file_exclude_patterns,它只匹配文件名(含后缀),不碰文件夹,也不影响搜索内容。写错格式会导致误杀——比如填 "log" 会干掉 blog.md,而 "*.log" 才安全。
-
file_exclude_patterns必须写在项目配置(.sublime-project)里才精准生效;写进用户设置会全局生效,容易误伤其他项目 - 常见写法:
"*.tmp"、"*.log"、"*.swp"、".DS_Store";不支持正则,"^\.|.*\.tmp"直接被忽略 - 改完配置,侧边栏不会自动刷新——必须右键根目录 → Refresh Folder,或关掉项目再重开
- 这些文件仍能被
Ctrl+Shift+F搜到,因为file_exclude_patterns只管显示,不管索引和搜索
Find in Files 搜索时怎么真正跳过 node_modules 和 dist
别动 file_exclude_patterns,它对搜索无效;也别指望 folder_exclude_patterns 在用户设置里起作用——Ctrl+Shift+F 的排除权,只归右下角的 Where 输入框管。
- 打开搜索面板后,在
Where框里填:., -/node_modules/, -/dist/, -*/__pycache__/ - 每项必须以
-开头、以/结尾:-/node_modules/✅,-node_modules❌(会误匹配文件),-/node_modules❌(缺结尾斜杠,语义失效) - 逗号后必须加空格:
., -/dist/, -/build/✅,.,-/dist/❌(后面所有规则丢弃) -
-*/node_modules/表示排除所有层级(如packages/foo/node_modules),-/node_modules/只排除根目录下
为什么改了 folder_exclude_patterns 搜索还是进 node_modules
因为你混淆了两个作用域:folder_exclude_patterns 控制的是「是否纳入索引」,不是「是否物理扫描」。它只影响 Ctrl+P 和侧边栏,对 Ctrl+Shift+F 的实时遍历没约束力。
- 如果
folder_exclude_patterns写在.sublime-project里,且结构正确(嵌套在folders数组每个对象内部),它会影响索引——但大项目索引有延迟,需手动 Refresh Folder 或等几秒 - 如果
"index_files": false被设为false(比如某些插件或旧配置),那所有排除逻辑都失效,Ctrl+Shift+F就退化成纯磁盘遍历,Where框变成唯一防线 - 检查是否拼错:
"node_moudles"或漏引号都会让整个数组失效
binary_file_patterns 会悄悄拖慢搜索速度
即使你已经在 Where 框里排除了 node_modules,搜索仍卡顿或漏结果?大概率是 binary_file_patterns 在背后跳过本该扫的文本文件。
- Sublime 默认把
.wasm、.bundle、.zip等当二进制跳过;如果你项目里有.gql、.schema这类自定义文本格式,又没从binary_file_patterns列表里删掉,它们就真被忽略了 - 验证方法:打开一个疑似被跳过的文件,看右下角状态栏是否显示 Binary;如果是,就得去设置里把它移出
binary_file_patterns - 这个设置全局生效,改完建议重启 Sublime,避免缓存干扰
Where 输入框的临时排除最灵活,.sublime-project 配置最稳定,而 binary_file_patterns 是最容易被忽略的性能陷阱——它不报错、不提示,只默默让搜索变慢或变漏。

















