[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 ...
随机推荐
- IoC实践--用Unity实现MVC5.0的IoC控制反转方法
在MVC中,控制器依赖于模型对数据进行处理,也可以说执行业务逻辑.我们可以使用依赖注入(DI)在控制层分离模型层,这边要用到Repository模式,在领域驱动设计(DDD)中,Repository翻 ...
- Tomcat之web项目部署
Tomcat一般用于部署JavaWeb项目. 遇到的问题 Linux操作系统中,在tomcat中部署项目时,一般只需要把项目war包:demo.war放到webapps下,然后启动tomcat即可.这 ...
- JQ选择器逐一测试
在web开发中大部分时间都在查找DOM元素和对DOM元素进行控制. 从上面就知道JQ为什么那么流行,因为它极大的缩短对DOM元素的查找和控制,让开发更快. 而它的对查找DOM的方法也很方便,这归类为选 ...
- [原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推)
[原创]上海好买基金招高级Java技术经理/运维主管/高级无线客户端开发等职位(内推) 内部推荐职位 高级JAVA技术经理: 岗位职责: 负责项目管理(技术方向),按照产品开发流 ,带领研发团队,制定 ...
- Xamarin.Forms bug? System.ObjectDisposedException: Cannot access a disposed object
Hi, My Android Xamarin.Forms application uses a Navigation stack to display various views, I often h ...
- 搭建windows的solr6服务器
准备工作: 目前最新版本6.0.下载solr 6.0:Solr6.0下载 JDK8 下载jdk1.8:jdk1.8[solr6.0是基于jdk8开发的] tomcat8.0 下载:tomcat8 ## ...
- 解决Visual Studio 2010/2012在调试时lock文件的方法
调试3dsmax插件,有一个避免每次修改插件代码都需要重启3dsmax的方法,就是将导出的核心代码写在一个独立的DLL中,然后在插件代码需要导出时LoadLibrary这个DLL,导出之后再FreeL ...
- U盘安装ubuntu,一直提示start booting from usb device…[转]
找到U盘中syslinux文件夹下的syslinux.cfg文件,在default vesamenu.c32前面加一个#号就可以了. 我的syslinux.cfg文件修改后如下,够简单吧!!!!建议用 ...
- Spring和cxf3的整合,以maven的方式
一.引入cxf3 我这里使用的是最新的版本cxf3.1.8 引入cxf3需要在pom.xml加入如下内容: <dependency> <groupId>org.apache.c ...
- ld: library not found for -lPods-AFNetworking
工程新添加了 AFNetworking 使用pod ,pod install 完成后,编译报错 ld: library not found for -lPods-AFNetworkingclang: ...