notepad++仅支持通过“视图→设置过滤选项”或右键文件列表空白处打开的对话框,用静态过滤字符串(如.cpp;.h;.git)屏蔽文件类型,修改后需手动刷新面板才生效。

Notepad++ 本身不支持“动态过滤代码文件”——它没有 VS Code 那种按语言、状态或自定义规则实时筛选文件列表的能力。所有有效过滤都依赖静态规则,且仅作用于「文件列表」面板,需手动刷新才生效。
怎么打开真正的文件过滤对话框
很多人在「首选项→常用」里勾选“隐藏文件列表面板”,结果发现只是关掉了面板,根本没过滤文件。真正起作用的入口只有一个:
- 点击菜单栏 视图 → 设置过滤选项
- 或右键点击文件列表面板空白处 → 选择「设置过滤选项」
这个对话框里的「过滤字符串」才是唯一控制哪些文件显示的关键。别进错地方,否则所有操作都白做。
过滤字符串必须这么写才生效
格式错一个字符,整个文件列表就变空。常见错误是把通配符写成正则、漏掉*、用错分隔符:
- 多个扩展名用英文分号分隔:
*.cpp;*.h;*.log(不是逗号,不是空格) -
*必须保留:*.tmp✅,.tmp❌(后者完全不生效) - 想屏蔽隐藏目录(如
.git),得显式写出:.git;.vscode;.DS_Store——.*无效 - 输错格式(比如漏
*)或留空,会导致面板清空;误输*单独出现,也会清空
为什么改完还是看到不该出现的文件
过滤只对文件列表生效,且不自动刷新。以下情况会让你觉得“没起作用”:
- 已打开的标签页不受影响 —— 过滤只管左侧/右侧树形结构,不管编辑区
- 新增文件不会自动更新显示,必须右键文件列表 → 「刷新」,或重启 Notepad++
- 如果用了「文件夹工作区」,子目录未勾选「递归子文件夹」,过滤规则可能没穿透到底层目录
- 「设置过滤选项」修改后,必须点「确定」并手动刷新,否则配置不落地
别指望它能按语言或内容智能过滤
Notepad++ 没有内置语言识别驱动的文件过滤。所谓“代码工程视图”,实际只能靠扩展名硬匹配。如果你需要:
- 只显示 C++ 相关文件:
*.cpp;*.h;*.hpp;*.cc - 排除构建产物:
*.o;*.obj;*.exe;*.dll;*.log - 兼顾隐藏目录:
*.cpp;*.h;.git;.vscode
记住:这不是智能筛选,只是字符串匹配。一旦项目里混用非标准扩展名(比如.inc当头文件用),就得手动加到过滤串里——没捷径,也没自动推导。











