Ctrl+Shift+N是最直接的项目文件搜索方式,专用于按文件名模糊匹配查找.py等文件,再按一次可扩展至标准库和已安装包,但被Excluded目录或未设为Sources Root的路径将不参与索引。

Ctrl + Shift + N 是最直接的项目文件搜索方式
想快速定位一个 .py、settings.py 或 requirements.txt 文件,别翻项目树——直接按 Ctrl + Shift + N。这个快捷键专为“找文件名”设计,不是搜内容,也不是搜代码。
输入时支持模糊匹配:比如输 set,会列出 settings.py、setup.py、pytest.ini(只要文件名含该子串);输 req 通常能命中 requirements.txt 和 pyproject.toml。
- 再按一次
Ctrl + Shift + N,搜索范围会扩展到 Python 标准库和已安装包里(比如搜json会出来json/__init__.py) - 如果项目开了多个模块或源根(source roots),默认只在当前标记为“Sources”的目录下搜;想包含测试目录,得先在 Project Structure 里把
tests/设为 Tests root - 输错或没结果时,PyCharm 不会报错,只是列表为空——这是正常表现,不是卡死
搜不到文件?检查是否被排除(Excluded)或不在源根里
常见现象:明明项目里有 utils/helpers.py,但 Ctrl + Shift + N 输 helpers 就不出现。大概率是这个目录被 PyCharm 当作“非源码”处理了。
右键该目录 → Mark Directory as → 确认它没被设成 Excluded(红色图标),而应是 Sources Root(蓝色图标)或 Resources Root(绿色图标)。
-
Excluded目录完全不参与任何索引,包括文件名搜索、符号跳转、代码补全 - 刚从 Git clone 下来的项目,有时
venv/或.idea/会被自动 exclude,但误 exclude 了src/或app/就会导致文件“消失” - 检查路径是否拼写错误:PyCharm 默认不区分大小写搜文件名,但如果你开了
Case sensitive选项(极少用),Helpers.py就不会匹配helpers.py
需要按文件类型过滤?用 File Mask 配合 Ctrl + Shift + F
当你要找“所有测试文件”或“所有配置文件”,Ctrl + Shift + N 不够用了。这时切到全局文本搜索:Ctrl + Shift + F,然后点右上角漏斗图标 → 勾选 File mask。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
填入通配符即可限定范围:
- 只搜 Python 文件:
*.py - 只搜 JSON/YAML 配置:
*.json;*.yaml;*.yml(分号分隔) - 排除迁移文件(Django):
!*.migrations.*.py(注意!表示排除)
注意:File mask 是对“文件路径”做匹配,不是对文件内容。它不影响搜索字符串本身,只缩小扫描的文件集合。
为什么 Double Shift 搜不到某些文件?
双击 Shift 是万能搜索入口,但它默认走的是“符号索引”(classes, functions, variables),不是纯文件名匹配。所以它可能列出 MyClass,但不一定显示 myclass.py ——除非那个文件里定义了同名类。
- 如果目标文件是空的、只有注释、或只含字符串字面量(比如纯 JSON 配置),它大概率不会出现在 Double Shift 结果里
- 刚新建还没保存的文件(带 * 标记的 tab),不会被索引,自然搜不到
- 想强制让它当“文件名搜索”用,可以在弹出框里输
/开头,比如/settings,PyCharm 会优先匹配路径片段
真正容易被忽略的点是:PyCharm 的文件索引不是实时的。改完 .gitignore 或手动 exclude 目录后,要等几秒(或手动触发 File → Reload project from disk)才能反映在搜索结果里。

















