代码导航与搜索
在学习工作中,随着项目规模的扩大,我们可能随时需要阅读源代码或者定位代码的位置, 这时就需要进行代码导航与搜索。PyCharm 在这方面提供了丰富的功能,大多数功能都集中在菜单 Navigate
下, 本节将学习其中一些主要功能。
1. 查看文件结构
1.1 工具栏 Structure
菜单:View -> Tool Windows -> Structure
在编辑器打开文件,默认情况下,PyCharm 显示当前文件的所有类、方法和其他元素。
除此以下,工具栏还有另外两个按钮 Navigate with Single Click 与 Always Select Opened Element。
Navigate with Single Click:单击此按钮,编辑器切换到对应于所选节点的源代码行,但焦点还是停留在"sturcture"工具窗口。
Always Select Opened Element:单击此按钮可让 PyCharm 自动将"structure"工具窗口中的焦点移动到当前编辑器中的代码对应的节点。
1.2 File Structure 弹出窗
打开一个文件, 菜单: Navigate -> File Structure
当选项 Narrow down on typing 是被选中的,在打开的窗口直接输入字符,显示效果如下,仅显示与输入字母匹配的成员。
1.3 查看类成员在 Project 工具栏
菜单:View -> Tool Windows -> Project
2. 查找方式
2.1 根据名字查找
按⇧ ⌘ N ( Shift+ Ctrl + N), 在打开的弹出窗输入字符。切换Tab可以能够按其名称查找任何文件、类、符号(变量名或者函数名)及动作(比如菜单项)等,并直接跳转到它。也可以指定搜索范围,这是 PyCharm 最强大的导航和搜索功能之一。
点击上图的 漏斗 按钮,还可设置筛选条件。
Tips :对应搜索文件、类及符号等, PyCharm 也分别提供了菜单:
2.2 Recent files (最近的文件)
在实际工作中,我们通常都会在少数几个文件中切换。比如正在编辑一个函数,同时要为此函数编写测试 - 这意味着要来回切换。PyCharm 为适应这种场景提供了Recent Files 窗口,列出最近打开的文件列表。
菜单 View -> Recent files
, 或者按 ⌘ E (Ctrl + E), 弹出下面窗口。最新的文件首先列出并默认选中, 可以通过上下箭头选择文件。
2.3 Searching everywhere (到处搜索)
Searching everywhere 可以在任何地方查找任何内容。菜单 Navigate -> Searching everywhere
或者 double ⇧ (双击 SHIFT) 会显示下面窗口,选择项目可直接跳转到搜索结果。
2.4 跳到指定行
打开一个文件, 菜单 Navigate -> Line/Column...
或者 按 ⌘ G(Ctrl + G)。指定行列位置,就会自动跳转。
3. 导航到声明、引用与测试
查看对象声明及其引用也是编程工作经常用到的操作。PyCharm 也提供了相应的快捷操作,可以快速导航到指定位置。
- 导航到声明:将光标停留在声明处,
Navigate -> Declaration or Usages
或者 按 ⌘ B (Ctrl + B), 将跳转到方法声明的地方。
2. 导航到引用: 将光标停留在声明处,Navigate -> Implementation(s)
或者 按 ⌥⌘ B(Ctrl + Alt + B), 会看到所有类实现。
- 导航到测试:将光标停留在声明处,
Navigate -> Test
或者 按 ⇧ ⌘ T(Ctrl + Shift + T), 会看到现有测试和创建新测试的建议。
4. 查找用途:
我们经常也需要在整个项目中查找某个类或方法的所有用法。 PyCharm 提供了丰富的功能(Edit -> Find Usages
) 其中在项目中查找与在当前文件中查找用途是最常用操作。
将光标停留在声明处,然后按 ⌥F7(Alt + F7)。用途的相关信息出现在"Find"工具窗口中:
除此以外,可以在当前文件里查看用途。 按⇧ ⌘ F7( Ctrl+Shift+F7 ) , 将高亮显示所有用途。
5. 导航栏
有时候,如果觉得 Project 工具栏占用屏幕空间,可以用 Navigation bar 替代 Project 工具栏查看文件。
- 确保 Navigation bar 是可见的
View -> Appearance -> Navigation Bar
。
2. 这时会看到导航栏显示,显示当前打开文件的路径。
3. 然后按 ⌥↖ (Alt + Home) , 会有弹出窗口显示。可以通过回车键显示嵌套目录和文件,通过箭头键在列表中导航。
- 右键点击导航栏上某一节点,上下文菜单将显示, 可以直接创建新的文件。
- 除此以外, 如果文件夹列表太长, 单击所需的文件夹并直接键入字符过滤搜索。
6. 小结
导航与搜索是 PyCharm 强大功能之一,本节只是介绍了其中常用的一部分功能。当大家在面对新技术与新项目的过程中, 搜索与导航功能可以帮助我们提高阅读源码效率,加快理解项目架构,所以,掌握本节的内容是非常必要的。