[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 ...
随机推荐
- Spring3 整合Hibernate3.5 动态切换SessionFactory (切换数据库方言)
一.缘由 上一篇文章Spring3.3 整合 Hibernate3.MyBatis3.2 配置多数据源/动态切换数据源 方法介绍到了怎么样在Sping.MyBatis.Hibernate整合的应用中动 ...
- 为EasyUI 的Tab 标签添加右键菜单
在网上看了很多demo 自己实现了一个效果如下 ps jquery1.7.2 jQuery EasyUI 1.3.6easyui QQ群:15129679 <!doctype html> ...
- Maven - 项目结构
一个基础的Maven Java项目结构图如下所示: Project Name |__________ pom.xml |__________ src | |__ ...
- easyui中 在子tabs中 添加新的tabs
function addToParentTab(title, url) { self.parent.addTabIgnoreExist(title, url, 'icon-cha ...
- 在java项目中使用log4j的实例
测试log4j的项目结构 Log4j.properties的路径为 src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个 ...
- 【推荐】最新国外免费空间网站Hostinger
英国最大的免费网站托管服务提供商! http://api.hostinger.co.uk/redir/6703404 Hostinger免费版包括以下内容: - 2000 MB的磁盘空间 - 100 ...
- arcgis flexviewer中由Application向widget传值
arcgis flexviewer所有的小部件类均继承自com.esri.viewer.BaseWidget基类,而BaseWidget又继承了com.esri.viewer.IBaseWidget接 ...
- github 使用记录
安装客户端tortoiseGit 是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用TortoiseGit,他给我们提供了图形界面的操作.在安装之前首先需要安装git,下载地址 ...
- 一致性哈希算法 - consistent hashing
1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 object 的 ...
- 7个惊艳的HTML5 Canvas动画效果及源码
HTML5非常强大,尤其是现在大部分浏览器都支持HTML5和CSS3,用HTML5制作的动画也多了起来.另外,Canvas上绘制图形非常简单,本文就分享了一些强大的HTML5 Cnavas动画,一起来 ...