代码导航与搜索

在学习工作中,随着项目规模的扩大,我们可能随时需要阅读源代码或者定位代码的位置, 这时就需要进行代码导航与搜索。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 也提供了相应的快捷操作,可以快速导航到指定位置。

  1. 导航到声明:将光标停留在声明处, Navigate -> Declaration or Usages 或者 按 ⌘ B (Ctrl + B), 将跳转到方法声明的地方。

图片描述
2. 导航到引用: 将光标停留在声明处,Navigate -> Implementation(s) 或者 按 ⌥⌘ B(Ctrl + Alt + B), 会看到所有类实现。
图片描述

  1. 导航到测试:将光标停留在声明处,Navigate -> Test 或者 按 ⇧ ⌘ T(Ctrl + Shift + T), 会看到现有测试和创建新测试的建议。
    图片描述

4. 查找用途:

我们经常也需要在整个项目中查找某个类或方法的所有用法。 PyCharm 提供了丰富的功能(Edit -> Find Usages) 其中在项目中查找与在当前文件中查找用途是最常用操作。

将光标停留在声明处,然后按 ⌥F7(Alt + F7)。用途的相关信息出现在"Find"工具窗口中:
图片描述
除此以外,可以在当前文件里查看用途。 按⇧ ⌘ F7( Ctrl+Shift+F7 ) , 将高亮显示所有用途。
图片描述

5. 导航栏

有时候,如果觉得 Project 工具栏占用屏幕空间,可以用 Navigation bar 替代 Project 工具栏查看文件。

  1. 确保 Navigation bar 是可见的 View -> Appearance -> Navigation Bar

图片描述
2. 这时会看到导航栏显示,显示当前打开文件的路径。
图片描述
3. 然后按 ⌥↖ (Alt + Home) , 会有弹出窗口显示。可以通过回车键显示嵌套目录和文件,通过箭头键在列表中导航。
图片描述

  1. 右键点击导航栏上某一节点,上下文菜单将显示, 可以直接创建新的文件。
    图片描述
  2. 除此以外, 如果文件夹列表太长, 单击所需的文件夹并直接键入字符过滤搜索。
    图片描述

6. 小结

导航与搜索是 PyCharm 强大功能之一,本节只是介绍了其中常用的一部分功能。当大家在面对新技术与新项目的过程中, 搜索与导航功能可以帮助我们提高阅读源码效率,加快理解项目架构,所以,掌握本节的内容是非常必要的。
图片描述