Eclipse的隐藏function

好吧,这可能是一个蹩脚的问题,但每个人都用这些不同的东西。 什么是这个IDE最好的时间储存器。

汤姆

不要忘记Ctrl + Shift + L ,它显示所有键盘快捷键组合的列表(以防万一你忘记了这里列出的任何一个)。

Ctrl-2的东西

似乎没有人提到Ctrl-2 L(分配给新的本地variables)和Ctrl-2 F(分配给一个新的字段),这些改变了我如何编写代码。

以前,我在打字,说(|是光标位置):

Display display = new | 

然后我按Ctrl-Space来完成构造函数的调用。 现在我input:

 new Display()| 

并按下Ctrl-2 L,这会导致:

 Display display = new Display()| 

这真的加快了速度。 (Ctrl-2 F的function相同,但分配给一个新的字段,而不是一个新的variables。)

另一个好的捷径是Ctrl-2 R:在文件中重命名。 重命名重构(Alt-Shift-R)比重命名局部variables更快。

其实我去了Keys自定义首选项页面,并为Ctrl-2-something分配了各种附加的快速修复。 例如,我现在按下Ctrl-2 J分割/连接variables声明,Ctrl-2 C将内部类提取到顶层,Ctrl-2 T将函数添加到throws声明等等。修复,select你最喜欢的,并将其分配给Ctrl-2快捷键。

模板

我的“npe”模板中的另一个最爱,定义为:

 if (${arg:localVar} == null) throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null"); 

这使我可以在每个函数开始时快速添加空参数检查(尤其是那些仅仅将参数保存到字段或将其添加到集合中的函数,特别是构造函数),这对于早期检测错误非常有用。

在www.tarantsov.com/eclipse/templates/上查看更多有用的模板。 我不会在这里列出所有的,因为有很多,因为我经常添加新的。

完成

一些代码完成技巧:

  • 在另一个答案中提到骆驼案例支持:inputcTM,获取currentTimeMillis
  • 默认构造函数:在没有默认构造函数的类声明中按下Ctrl-Space,第一个选项就是创build一个
  • 重载:在类声明中开始input一个方法的名字,你可以重载,Ctrl-Space,select一个
  • getter / setter创build:键入“get”,Ctrl-Space,select一个getter创build; 与“是”和“设置”相同

分配到一个新的领域

这是我如何添加字段。

  1. 如果你还没有构造函数,请添加一个。 (在类声明的任何地方按Ctrl-Space,select第一个提议。)

  2. 添加一个参数(|是光标位置):

     public class MyClass { public MyClass(int something|) { } } 
  3. 按下Ctrl-1,select“分配给新的字段”。 你得到:

     public class MyClass { private final Object something; public MyClass(Object something) { this.something = something; } } 
  4. 如果合适,添加一个空指针检查(参见上面的“npe”模板):

     public class MyClass { private final Object something; public MyClass(Object something) { npe| this.something = something; } } 

    按Ctrl-Space,得到:

     public class MyClass { private final Object something; public MyClass(Object something) { if (something == null) throw new NullPointerException("something is null"); this.something = something; } } 

节省很多时间!

ctrl-shift -r和它的伙伴,ctrl-shift-t分别打开资源或types。 资源包括打开项目中的所有文件(包括非java文件),types包括项目中的Javatypes或项目中包含的库。

Crtl + 1是我的最爱。 快速修复红色的曲线。

它也位于编辑菜单 – >快速修复。

Ctrl + Shift + O组织导入,这将很好地格式化,删除不需要的导入,并添加缺less的导入。

Ctrl-J启动增量查找。

按Ctrl-J,然后开始input。 使用向上/向下查找您键入的前一个/下一个实例。

Ctrl-Shift-J向后search。

键入“syso”,然后按Ctrl + 空格将其展开到System.out.println()。

特雷斯得心应手。

CTRL + 3popup任何菜单命令的预先input列表。

  • CTRL-SHIFT-g:查找游标下方法或字段的用法,对于理解代码是绝对必要的
  • CTRL-F6:在打开的编辑器窗口列表之间进行导航,如果您只需键入一次,然后松开即可切换回到之前的编辑器窗口,依次执行此操作是一种很好的方式来回跳动
  • CTRL-t:在类或方法上会显示出types层次结构,例如对于查找接口方法的实现非常有用

单击方法声明中的返回types将突出显示该方法的所有出口点。

例如:

 1: public void foo() 2: { 3: somecode(); 4: if ( blah ) return; 5: 6: bar(); 7: } 

点击void将突出显示第4行上的返回和第7行上的close。

更新 :它甚至适用于try {} catch块。 如果将光标放在catch块的exception处,eclipse将突出显示可能抛出exception的可能方法。

代码完成支持CamelCase,例如,键入CWAR将显示CWAR的结果。 开始使用这个function,你永远不会再input另一个长的类名。

(从另一个答案复制的部分,因为我认为只有一个提示/提示的答案是最好的投票)

Alt-Up箭头将当前select向上移动一行,Alt-向下箭头将其向下移动。 我也一直使用Alt-Shift-Up / Down Arrow。 Ctrl-K和Ctrl-Shift-K非常方便,可以find当前select的下一个/上一个选项(如果没有select,则为最后一个Find)。

有一个选项可以将开放式大括号和分号自动放置在“正确”的位置。 你必须启用这个 – select窗口/首选项,并在search框中input“大括号” – 应该很容易find(这台电脑上没有eclipse)。 效果:

  • 在分隔线的任何地方input分号将会把它放在这一行结尾(如word / openoffice:如果你想在原来的位置使用Backspace)
  • 当你刚好在另一对大括号内时,打开大括号将把它放在这一行的最后 – 就像这个例子

(“|”是游标):

 if(i==0|) 

键入“{”现在将导致

 if(i==0) {| 

嬉皮扩展/ Word Complete,由Emacs启发的afaik:将基于该文件中的其他单词在任何编辑器中自动完成任何单词。 自动完成Java代码中的string文字,在XML文件,无处不在。

Alt + /

Alt-Shift-R代表重命名 ,而不是重构。 重构是一个更通用的术语 (如书中所定义的 )。

不过,这是我最喜欢的重构之一。 其他包括:

  • Alt-Shift-M : 提取方法 (当select代码块或expression式时)

  • Alt-Shift-L : 提取本地variables (当selectexpression式时)

当我不记得(或打扰input)方法的结果types时,提取局部variables特别有用。 假设你的类中有一个方法JdbcTemplate createJdbcTemplate() ,写下如下代码:

 void someQuery() { createJdbcTemplate() } 

selectexpression式createJdbcTemplate() ,单击Alt-Shift-L,键入variables的名称,然后按Enter键。

 void someQuery() { JdbcTemplate myTemplate = createJdbcTemplate(); } 

CTRL + D – 删除当前行

绝对, Ctrl + Q去上一个编辑位置。 刚刚被电话,老板或其他人打断后,这个function非常有用。

Ctrl + Shift + M :将类的静态方法或静态属性引用更改为静态导入。

之前

 import X; ... X.callSomething(); 

 import static X.callSomething; ... callSomething(); 

Alt + Shift + 向上箭头确实升级select。 Alt + Shift + Down是相反的。

Alt + 向上Alt + 向下移动线条

没有人提到最好的一个呢。 单击一个类或方法名称,然后按Ctrl + T。

你得到一个快速的types层次结构 对于类名称,您可以看到整个类层次结构。 对于方法名称,您可以得到显示超类和子类的层次结构,该方法的实现不同于抽象提及,或者不提及方法的类。

当你处于抽象方法声明时,这很重要,并且很快想知道它在哪里实现。

F3一直是我的最爱,打开选定项目的定义。

Ctrl + Shift + R有一个有趣的function,你可以在search时只使用一个类的大写骆驼字母(比如键入CWAR将显示ClassWithAReallyLongName的结果)。

Alt + Shift + W >浏览大型项目时,包资源pipe理器使生活更轻松。

非键盘快捷方式的技巧是在提交前使用Team-> Synchronize视图中的提交集来组织您的更改。

将更改集设置为默认值,并且对文件所做的所有更改都将放入该集中,从而可以轻松查看在处理特定缺陷/function时进行了哪些更改,以及testing时的其他更改等。

CTRL + SPACE,适用于任何地方。

生成getter和setter。

使用字段创build构造函数

提取方法…

Refactor->重命名

CTRL + O为快速大纲。 CTRL + O + CTRL + O用于inheritance的大纲。

F4显示一个types层次结构

打开调用层次来显示从哪里调用方法。

CTRL + SHIFT + T打开Javatypes

CTRL + SHIFT + R打开任何资源。

ALT +左右可以通过文档中的编辑位置前进或后退(轻松导航)

如果您知道要做很多方法,则覆盖/实现方法(否则,CTRL + SPACE更适合每次select一个。

重构 – >提取界面

重构 – >拉起来

重构 – >按下

CTRL + SHIFT + O用于组织导入(当inputMap等常规类名称时,按CTRL + SPACE,然后select适当的类将直接为您导入)。

CTRL + SHIFT + F进行格式化(尽pipeEclipse内置的格式化程序对于长长的代码行可能是一个小脑袋)

编辑:哦,是的,一些debugging:

F5:进入(给我看细节!)

F6:走完(我相信你,到下一个部分…)

F7:走出去(我以为我在乎这种方法,但是事实certificate我不这样做,把我从这里赶出去!)

F8:继续(到达下一个断点)

CTRL + SHIFT + I:检查expression式。 CTRL + SHIFT + I + CTRL + SHIFT + I:在检查的expression式上创build监视expression式。

条件断点:右键点击一个断点,你可以设置一个触发条件来触发程序的执行(上下文辅助,Ctrl + Space,在这里可用!)

F11 – 上次启动的debugging(应用程序)

CTRL + F11 – 运行上次启动(应用程序)

例外的断点

Eclipse允许您根据发生exception的位置设置断点。
您通过“j!”访问选项 替代文字http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.userhttp://img.dovov.comorg.eclipse.jdt.debug.ui/elcl16/exc_catch.pngdebugging窗口中的图标。;

替代文字http://blogs.bytecode.com.au/glen/2007/04/06http://img.dovov.com2007/AddExceptionWindow.png

官方帮助主题“ 添加Javaexception断点 ”有更多。

  • 未捕获的exception选项是当一个与断点相同types的exception被引发到未捕获的位置时暂停执行。
  • 被捕获的exception选项将在捕获的位置抛出与断点相同types的exception时挂起执行。
  • 不要忘记exception断点挂起在这个例外的子类
    在遇到exceptiontypes的子类时暂停执行。
    例如, 如果将RuntimeException的exception断点configuration为在子类上挂起,则它也将由NullPointerExceptionexception触发

替代文字http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/reference/breakpointshttp://img.dovov.comref-breakpoint_suspendsubclass.PNG

Ctrl + Alt + H获取调用层次的方法。 快速查看它从哪里被调用。

Ctrl + Alt + UPCtrl + Alt + DOWN复制行

Alt + Shift + R进行重构和重命名。

这里是我收集的Eclipse 3最有用的键盘快捷键:

 Eclipse 3 Favorite Keyboard Shortcuts. by -=MaGGuS=- Navigate: • Ctrl + Shift + L – Shows useful keyboard shortcuts in popup window • Ctrl + H – Search. • Ctrl + K – Goes to next search match in a single file. Shift + Ctrl + K – goes to previous match. • F3 - Goes to 'declaration' of something. Same as Ctrl + Click. • Ctrl + Shift + G - Use this on a method name or variable. It will search for references in the code (all the code) to that item. • Ctrl + O – Shows outline view of the current class or interface. • Ctrl + T – Shows class hierarchy of the current class or interface. F4 – shows the same in separate tab. • Ctrl + Shift + T - Open Type. Search for any type globally in the workspace. • Ctrl + Shift + R – Open Resource. Search for any file inside workspace. • Ctrl + J – Incremental search. Similar to the search in firefox. It shows you results as you type. Shift + Ctrl +J - Reverse incremental search. • Ctrl + Q – Goes to the last edit location. • Ctrl + Left|Right – Go Back/Forward in history. • Ctrl + L – Go to line number. • Ctrl + E – This will give you a list of all the source code windows that are currently open. You can arrow up or down on the items to go to a tab. • Ctrl +PgUp|PgDown – Cycles through editor tabs. • Ctrl + Shift + Up|Down - Bounces you up and down through the methods in the source code. • Ctrl + F7 – Switches between panes (views). • Ctrl + ,|. – Go to the previous/next error. Great in combination with Ctrl + 1. • Ctrl + 1 on an error – Brings up suggestions for fixing the error. The suggestions can be clicked. • Ctrl + F4 – Close one source window. Edit: • Ctrl + Space – Auto-completion. • Ctrl + / – Toggle comment selected lines. • Ctrl + Shift + /|\ – Block comment/uncomment selected lines. • Ctrl + Shift + F – Quickly 'formats' your java code based on your preferences set up under Window –> Preferences. • Ctrl + I – Correct indentations. • Alt + Up|Down – move the highlighted code up/down one line. If nothing is selected, selects the current line. • Ctrl + D – Delete row. • Alt + Shift + Up|Down|Left|Right – select increasing semantic units. • Ctrl + Shift + O – Organize Imports. • Alt + Shift + S – Brings up “Source” menu. o Shift + Alt + S, R – Generate getter/setter. o Shift + Alt + S, O – Generate constructor using fields. o Shift + Alt + S, C – Generate constructor from superclass. • Alt + Shift + T – Brings up “Refactor” menu. • Alt + Shift + J – Insert javadoc comment. • F2 – Display javadoc popup for current item. Shift + F2 – Display javadoc in external browser. Run/Debug: • F11 / Ctrl + F11 – Execute/debug. • Ctrl + Shift +B – Toggle breakpoint. • When paused: F5 – Step into, F6 – Step over, F7 – Step out, F8 – Resume. • Ctrl + F2 – Terminate. EOF 

不是如此隐藏,但IMO是最好的伎俩。

假设默认设置(你还没有添加新的片段)

突出显示(或select)文本(string或variables)…按Ctrl +空格。 命中结束+input。 触发“sysout”片段,将其作为参数进行包装。

例如。

  "hello world!" becomes System.out.println("hello world!"); 

我非常喜欢它,所以我已经在手动debugging过程中为Android的Toast和Log.i()节省了大量的时间。