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 不会报错,只是列表是空的——这是正常的表现,不是卡死
常见现象:项目中有明显现象: 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
要找到“所有测试文件”或“所有配置文件”,Ctrl + Shift + N 这还不够。此时切入全局文本搜索:Ctrl + Shift + F,然后点击右上角的漏斗图标 → 勾选 File mask。
PyCharm 2026.2
PyCharm 2026.2提供 JetBrains 官方 2026.2 版本安装包适合指定 PyCharm 版本进行 Python 用户开发、运行和调试项目。
下载填充通配符可限范围:
- 只搜 Python 文件:
*.py - 只搜 JSON/YAML 配置:
*.json;*.yaml;*.yml(分号分隔) - 排除迁移文件(Django):
!*.migrations.*.py(注意!表示排除)
注意:File mask 匹配“文件路径”,而不是文件内容。它不影响搜索字符串本身,只减少扫描文件集。
双击 Shift 它是一个通用搜索入口,但它默认采用“符号索引”(classes, functions, variables),并非纯文件名匹配。因此,它可能会被列出。 MyClass,但不一定显示 myclass.py ——除非同名类在文件中定义。
- 如果目标文件是空的,只有注释,或者只有字符串的字面量(如纯度) JSON 配置),它很有可能不会出现 Double Shift 结果里
- 新建尚未保存的文件(携带) * 标记的 tab),不会被索引,自然找不到。
- 如果你想强迫它作为“文件名搜索”,你可以在弹出框中输入
/开头,比如/settings,PyCharm 路径片段将优先匹配
真正容易被忽视的是:PyCharm 文件索引不是实时的。更改后 .gitignore 或手动 exclude 目录结束后等几秒钟(或手动触发) File → Reload project from disk)它可以反映在搜索结果中。