[Python] Search navigation in Pycharm
From: http://blog.csdn.net/u013088062/article/details/50323393
From: http://blog.csdn.net/u013088062/article/details/50324237
From: http://blog.csdn.net/u013088062/article/details/50325135
最全Pycharm教程(26)——Pycharm搜索导航之文件名、符号名搜索
最全Pycharm教程(27)——Pycharm搜索导航之跳转到声明与定义
最全Pycharm教程(28)——Pycharm搜索导航之搜索应用实例
跳转到类:Ctrl+N
跳转到文件:Ctrl+Shift+N
跳转到符号:Ctrl+Alt+Shift+N
跳转到声明:Ctrl+B
跳转到引用:Ctrl+Alt+B
跳转到类的使用环境:Alt+F7
跳转到文件
按下Ctrl+Shift+N快捷键,在弹出的窗口中输入d:

下面所显示的下拉列表中包含了所有名称中有字母d的文件。这里选择deeplyBuriedFile.py,回车,打开对应的deeplyBuriedFile.py文件。
跳转到类
接下来我们尝试跳转到一个特定的类定义。按下Ctrl+N,输入o,注意这里你可以输入*来代表所有的文件名。在下拉列表中列出了所有名字中包含字母o的类,并且给出了对应的全路径:

选择提示列表中的Foo,回车,这次会在光标所在的类声明处打开所在文件。
跳转到符号
接下来我们尝试跳转到类中一个特定的成员处。按下Ctrl+Alt+Shift+N,输入a:

选择bar,然后回车,转到对应定义。
6、跳转窗口的额外功能
你可能注意到所弹出的窗口中还有其他控件为我们提供额外功能。
首先,我们介绍如何跳转到当前工程之外的文件、类、符号处。
勾选Include non-project files/classes/symbols复选框或者按下相关快捷键以打开外部提示列表。与之前的suggestion list不同的是这个列表包含了外部库中的相应的符合搜索条件的项目:

接下来拟可以在一个独立的窗口 Find tool window来显示当前多匹配的条目,当你在进行多重搜索时,这种独立的显示模式变得很重要。同时我们也希望能够保存搜索结果方便下次查看:

最后,你可以通过单击提示列表旁边的漏斗图标来指定当前需要显示哪种文件类型的搜索结果:

跳转到声明(定义)
将光标定位在Cat类实例的feeds( )函数名处,按下Ctrl+B。Pycharm会自动跳转到Mammalia类feeds成员的定义:

跳转到引用
接下来把光标至于Mammalia类名称处,查找其所有引用。按下Ctrl+Alt+B,会看到Mammalia类的引用列表:

选择你想查看的引用(例如这里选择Cow),回车,Pycharm会跳转到对应引用位置。
如果你选择了位于另外一个文件中的引用,如Carnivore,Pycharm会在一个单独的编辑选项卡中打开它。
左槽图标的导航功能
最后我们观察窗口左槽,这里有很多附有指向箭头的图标,意味着?
如果你将鼠标指针悬停在图标上面,Pycharm会显示其子类或者重载方法(向下的箭头)、父类(向上箭头):

当你单击这个图标时,Pycharm会列出其子类或者重载方法(如果有的话):

之后Pycharm会跳转到所选条目,并将光标至于对应的声明部分。
如果只存在一个子类、父类或者重载函数,则默认执行跳转操作:

搜索所有引用usages
1、主题
这里我们将介绍Pycharm另外一项强力的搜索导航功能。假设你希望知道某个特定的类或方法都在工程中的哪些地方发挥了作用,也就是找出其所有的usages,这将是一个非常巨大而繁琐的工程,不过这里Pycharm会帮助我们实现。
3、搜索所有引用usages
假设我们希望找出Mammalia类的所有使用环境,然后跳转到其中一处。将光标定位在类声明处,按下Alt+F7,在Find tool window窗口中显示当前类的usages。选择了一处引用之后,回车,Pycharm会打开相关文件:

顺便提一句,你可以通过快捷菜单来实现这个功能,例如在Mammalia右击,观察弹出的快捷菜单内容:

通过这种方式你可以在默认设置下找到某个符号的所有usages。
其他查询模式(参考)
处理查找usages,Pycharm还提供了几种其他的查找方式,操作相似,目的相同,请看主菜单(Edit → Find):

这些操作一部分已经制定了相关快捷键,接下来我们详细介绍。
5、改变搜索模式,通过对话框查找usages
将输入光标置于符号声明处,例如函数名feeds,按下Ctrl+Alt+Shift+F7,弹出对话框dialog box,在这个对话框中可以更改搜索选项。例如希望在当前打开的文件范围内来搜索,并且在新的编辑框中显示搜索结果:

单击Find按钮:Pycharm会通过一个新的编辑选项卡来显示feeds的搜索结果。双击(或者使用方向键选中并回车),Pycharm打开相关文件:

6、以列表形式显示usages
在某些情况下通过搜索窗口来查看搜索结果并不是很方便,Pycharm允许将搜索结果以弹出列表的形式反馈出来。例如我们想查找Eutherian类的所用使用环境:
将光标置于类声明处,按下Ctrl+Alt+F7(或者使用Edit→Find→Show Usages菜单命令):

如果你通过方向键选中对应条目(例如Cat类)然后回车,Pycharm会跳转到相关文件。
现在回到弹出列表窗口,如果你想恢复到之前的Find tool window模式,只需单击
即可。
最后,如果你对当前的搜索模式不满意,单击
按钮打开设置对话框 dialog box:

7、在当前文件中查看usages
更简单的,只需按下Ctrl+Shift+F7,或者使用Edit→Find→Highlight Usages主菜单命令,问题解决:

正如你所见,每个usages在右槽对应都有一个标记,当将鼠标指针悬停在对应标记上时,Pycharm会给出简要的提示声明。单击这些标记来实现不同usages间的切换。
[Python] Search navigation in Pycharm的更多相关文章
- python笔记:#003#PyCharm 的初始设置
PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...
- odoo开发环境搭建(四):python开发工具IDE pycharm配置
odoo开发环境搭建(四):python开发工具IDE pycharm配置
- Python环境搭建和pycharm安装
Python环境搭建和pycharm安装 本人安装环境为Windows10系统,下载的Python版本为3.4社区版本,可参考 1.下载Python3.4版本 官网:https://www.pytho ...
- python 基础 1.3 使用pycharm给python传递参数及pycharm调试模式
一.通过pycharm 给python传递函数 1. 在pycharm终端中写入要获取的参数,进行获取 1>启动pycharm 中Terminal(终端) 窗口 点击pycharm左下角的图标, ...
- 2、Python的IDE之PyCharm的使用
一.Python集成开发环境-Pycharm介绍 PyCharm是一款功能强大的,用于编写复杂需要结构化的功能代码,下面介绍一下 在Windows下如何安装PyCharm . 操作系统:Windows ...
- 【转载】Python 最强编辑器PyCharm详细使用指南!
PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率.那么具体如何使用呢?本文从 PyCharm 安装到插件.外部工具.专业版功能等进行了一一介绍,希望能够帮助到大家.机 ...
- Python和Anoconda和Pycharm联合使用教程
简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. ...
- Python的IDE之Pycharm的使用
Python的IDE之Pycharm的使用 一.为什么用IDE(Python集成开发环境-Pycharm) 到现在为止,我们也是写过代码的人啦,但你有没有发现,每次写代码要新建文件.写完保存时还要选择 ...
- Python学习之路——pycharm的第一个项目
Python学习之路——pycharm的第一个项目 简介: 上文中已经介绍如何安装Pycharm已经环境变量的配置.现在软件已经安装成功,现在就开始动手做第一个Python项目.第一个“Hello W ...
随机推荐
- 关于TCP的粘包
2014年与宗宗一起去厦门测试软件接口的时候,与上级系统基于TCP方式通讯,数据量大时,经常通讯失败,检查日志发现是上级系统应该多次返回的数据一次性接收到了. 上网搜索了一下,才了解到TCP粘包的问题 ...
- CStringArray用法
CStringArray使用之前先设置数组尺寸SetSize,才能使用SetAt CStringArray m_strScrkRfid ; ...
- 爬虫神器xpath的用法(二)
爬取网页内容的时候,往往网页标签比较复杂,对于这种情况,需要用xpath的starts-with和string(.)功能属性来处理,具体看事例 #encoding=utf-8 from lxml im ...
- XCode打包脚本
#!/bin/bash #for debug#请将 TARGET-NAME 改成项目的 TARGET 名称#放置于 .xcodeproj 同级目录中执行 target_name="xx&qu ...
- sqlserver内存释放心得
SQL Server 2008 或者R2的默认内存分配是2147483647MB, 差不多算是无穷大,对于系统内存的管理策略是有多少占多少.SQLserver会把所有处理过的SQL操作缓存在内存里,这 ...
- EWM ODO清理功能
ERP OBD下传到EWM会自动产生拣货任务(通常做法),但如果EWM因库存不足或其它原因无法拣货时一般要差异确认,对ODO行项目进行0确认.但问题是零确认后EWM标准流程是无法回传ERP的. ERP ...
- android 页面跳转,数据回传
package com.example.firstpg.firstpg; import android.support.v7.app.ActionBarActivity; import android ...
- 深入学习golang(2)—channel
Channel 1. 概述 “网络,并发”是Go语言的两大feature.Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单.写一个Server除了网 ...
- SNMP远程监控进程信息的OID
最近有个项目需要用snmp远程监控进程信息.于是我查了一下资料. 一.资料 .1.3.6.1.2.1.25.4.2.1.1.iso.org.dod.internet.mgmt.mib-2.host.h ...
- 查看JAVA进程中哪个线程CPU消耗最高
一,在centos linux 上查看进程占用cpu过高 top shift+h 查看哪个进程程消耗最高 二,查看JAVA进程中哪个线程消耗最高 2.1 导出java运行的线程信息 ...