[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 ...
随机推荐
- 493萬Gmail用戶的賬號密碼遭洩露,Google否認自己存在安全漏洞
最近,大公司在互聯網信息安全問題上狀況頻出.上週,蘋果因iCloud被黑客攻擊而導致大量明星私照外洩,著實是熱鬧了一陣.而Google也來湊熱鬧了.據俄羅斯媒體CNews消息,近493萬Gmail用戶 ...
- 努力学习 HTML5 (1)—— 初体验
HTML5 代表未来:W3C ( World Wide Web Consortium, 万维网联盟) 已经放弃 XHTML,从而使 HTML5 成为正式标准并得到认可. 最简单的 HTML5 文档 & ...
- java获取点击微信自定义菜单的用户openid
测试: 先上 请求类 HttpRequesto package reyo.sdk.utils.weixin; import java.io.BufferedReader; import java.io ...
- ios取证
摘录自:<IOS取证实战> Andrew Hoog著 viaForensics公司,今年已经募集到1600万创业基金 2007-2011年初,AT&T是在美国唯一为iphone提供 ...
- RPC和NFS
参考:http://eduunix.ccut.edu.cn/index2/html/linux/OReilly.SUSE.Linux.Jul.2006/059610183X/suselinux-CHP ...
- Putty & Ctrl+s 的魔咒
Long long ago“ 某些旧的”哑终端“会在发送过来的数据太多,显示速度跟不上时发送一个Ctrl+s让对方等一下,然后再准备好继续显示时发送一个Ctrl+q.Putty“兼容”了这个特性.也有 ...
- spring整合activemq发送MQ消息[Topic模式]实例
Topic模式消息发送实例 1.pom引入 <dependency> <groupId>junit</groupId> <artifactId>juni ...
- Asp.net Core 使用Redis存储Session
前言 Asp.net Core 改变了之前的封闭,现在开源且开放,下面我们来用Redis存储Session来做一个简单的测试,或者叫做中间件(middleware). 对于Session来说褒贬不一, ...
- 美行Thinkpad八通道快捷入口
美行Thinkpad八通道快捷入口 链接: http://shop.lenovo.com/perksoffer/us/en/laptops/thinkpad/?__followRobots=true打 ...
- 在Linq to Entity 中使用lambda表达式来实现Left Join和Join
1.读取用户和部门两个表的左连接: var sg = db.Users.GroupJoin(db.Departments, u => u.DepartmentId, d => d.Depa ...