Eclipse快捷键 之 代码追踪

Stella981
• 阅读 628

在使用Java编写复杂一些的程序时,你会不会常常对一层层的继承关系和一次次方法的调用感到迷惘呢?幸亏我们有了Eclipse这么好的IDE可以帮我们理清头绪--这就要使用Eclipse强大的代码追踪功能。

1、用Open Declaration可以查看类、方法和变量的声明。这是最常用的一个功能了,如果在要追踪的对象上点右键,选择Open Declaration,可以跳转到其声明的地方。这个功能有个快捷键是F3,当然你也可以按住Ctrl键,鼠标移过去会变成一个小手,单击就可以了。

2、用Open Type Hierarchy可以查看类的继承关系,可以在Hierarchy窗口看到继承层次的导航。在方法或类名上点击右键,选择Open Type Hierarchy即可,快捷键是F4。

3、 用Open Call Hierarchy可以查看方法的调用层次。如果想知道一个方法在别的什么地方被调用了,这个功能就很好用了,实际中也很常用,比如要重构一个方法时,想知道他对其它什么地方可能有影响,就可以用这个功能。在方法名上点击右键,选择Open Type Hierarchy即可,快捷键是Ctrl+Alt+H。可以在Call Hierarchy窗口看到方法的调用层次的导航。

4、用Open Super Implemention可以查看当前方法在父类中的实现或接口中的声明(前提是该方法是对父类或接口中相应方法的重写),在方法名上点击右键,选择Open Super Implemention即可。

5、最后介绍一个超级好用的功能,叫Open Implemention,就是可以跳转到某个调用的方法的具体实现的地方去。为什么说这个是超级好用呢?用过Spring的人都知道,现在都提倡面向接口编程,所以,如果使用Open Declaration来追踪一个方法的调用的话,只会看到该方法在接口中的声明,而看不该方法在具体类中的实现,当然,可以使用Call Hierarchy先得到该方法的整个的调用层次,然后再导航到具体的实现处,但操作有些麻烦了。有了Open Implemention,就可以直接看到实现的代码了,在方法名上点击右键,选择Open Implemention就可以了!只是要享受这个功能,可安装一个Eclipse插件。

( 现在可以了, 按ctrl + T或者按住ctrl, 鼠标放在方法名上面, 会有open interface 和open implemention两个选项)

链接:http://nileshk.com/2005/10/12/open-implementation-plugin-for-eclipse.html

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java debug体系为什么不能debug到jdk里所有的代码
作为java码农肯定碰到过当我们debug到一些class的时候,发现当进入到某个方法里是看不到声明的入参名,取而代之的是arg0,arg1等,继续深入更是看不到局部变量,这主要是java类编译的时候没有加g参数导致的,而为什么我们自己在eclipse中写的代码却是可以正常跟踪呢,原因很简单,因为eclipse自行编译的时候是带g参数编译的。  
Wesley13 Wesley13
3年前
java面向对象的三大特性
java面向对象的三大特性1.封装,把事物封装成抽象的类,通过访问控制符把自己的成员变量和函数对不可信的进行信息隐藏以及提供方法给可信的类和对象来操作。2.继承,继承可以使用现有类的所有功能和成员变量,并且无需重新编写原来的类的情况下对这些功能进行扩展。3.多态,实现了对代码的复用,多态具体体现为重载和重
LeeFJ LeeFJ
1年前
Foxnic-Web 代码生成 (2) —— 代码生成的配置类
上一节,我们已经讲述了代码生成的基本步骤,但是对细节部分并未展开。利用FoxnicGenerator包进行代码生成的方式是多种多样的,我们这里提到的配置类这是其中一种,例如在FoxnicEAM项目里,有很多的代码生成非使用配置类来完成的。  我们优先选择配置类讲解,显然配置类有其优势。首先,配置类按数据表隔离,一数据表一模块一个配置类。其次,在配置类内部,按配置对象的不同,分别在不同的方法内进行配置代码的编写。例如,配置模型时在configModel方法内编写配置代码,配置字段时在configFields方法内编写配置代码。  那么,代码生成的配置为什么要用Java类,而不是用Json、XML或YML呢?首先,不管是Json、XML或YML、Java,都是在编辑器敲文本。那么哪一种方式敲文本是最方便的呢,自然是Java了,因为有开发工具强大的支持。
东方客主 东方客主
3年前
Android动态加载基础 ClassLoader工作机制
类加载器ClassLoader早期使用过Eclipse等Java编写的软件的同学可能比较熟悉,Eclipse可以加载许多第三方的插件(或者叫扩展),这就是动态加载。这些插件大多是一些Jar包,而使用插件其实就是动态加载Jar包里的Class进行工作。这其实非常好理解,Java代码都是写在Class里面的,程序运行在虚拟机上
Stella981 Stella981
3年前
SpringBoot学习之路:12.Spring Boot使用idea开发如何配置热加载
     java开发的ide用最多的无非就是eclipse和idea,在eclipse中开发springboot,要使项目热加载资源只需要在pom文件中引入springboot的开发工devtools即可。但是该工具在使用idea开发springboot时单纯的引入并不起作用,还需要一些代码支持和idea设置才能生效。下面我们就在idea中使用m
Stella981 Stella981
3年前
JUnit学习笔记
JUnitJJUnit是用于编写和运行可重复的自动化测试的开源测试框架,这样可以保证我们的代码按预期工作。JUnit可广泛用于工业和作为支架(从命令行)或IDE(如Eclipse)内单独的Java程序。基础知识JUnit的安装和使用都非常的简单。这里使用IDEAMaven演示。创建项目使用Ide
Stella981 Stella981
3年前
Scala系统学习(三):Scala基础语法
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易。Scala和Java之间最大的句法差异在于行结束字符的分号(;)是可选的。当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合。现在我们简单地看一下类,对象,方法和实例变量的含义。对象 对象有状态和行为。一个对象是类的一个实例。例如狗有状态
Stella981 Stella981
3年前
Eclipse RCP中多线程Job使用
在我们基于Eclipse的Java程序中,我们有很多种方式提供多任务的实现。熟悉Java的朋友立即会想到Java的Thread类,这是Java中使用最多的一个实现多任务的类。Eclipse平台为多任务处理提供了自己的API,那就是Job以及UIJob。Eclipse中的Job是对JavaThread的一个封装,为我们实现多任务提供了更方便的接口。以下是
Stella981 Stella981
3年前
Eclipse中将Java项目转换成Web项目的方法
前言:  用Eclipse开发项目的时候,把一个Web项目导入到Eclipse里会变成了一个java工程,将无法在Tomcat中进行部署运行。  方法:  1.找到.project文件,找到里面的<natures标签,查看是否有下面的代码,没有则复制进去。  Xml代码1.<natureorg.eclipse.ws
Easter79 Easter79
3年前
SpringBoot学习之路:12.Spring Boot使用idea开发如何配置热加载
     java开发的ide用最多的无非就是eclipse和idea,在eclipse中开发springboot,要使项目热加载资源只需要在pom文件中引入springboot的开发工devtools即可。但是该工具在使用idea开发springboot时单纯的引入并不起作用,还需要一些代码支持和idea设置才能生效。下面我们就在idea中使用m