Answers:
似乎没有人提到Ctrl-2 L(分配给新的局部变量)和Ctrl-2 F(分配给新字段),这些都改变了我编写代码的方式。
以前,我输入的内容是(|是光标位置):
Display display = new |
然后我按Ctrl-Space完成构造函数调用。现在我输入:
new Display()|
然后按Ctrl-2 L,结果为:
Display display = new Display()|
这确实加快了速度。(Ctrl-2 F的作用相同,但分配给新字段而不是新变量。)
另一个不错的快捷方式是Ctrl-2 R:在文件中重命名。重命名局部变量之类的文件时,它比重命名重构(Alt-Shift-R)快得多。
实际上,我转到了“密钥自定义”首选项页面,并为Ctrl-2-something分配了各种其他快速修复。例如,我现在按Ctrl-2 J来拆分/联接变量声明,按Ctrl-2 C来将内部类提取到顶层,按Ctrl-2 T来向函数中添加throws声明,等等。修复,请选择您喜欢的修复程序并将其分配给Ctrl-2快捷键。
我的“ npe”模板中的另一个我的最爱,定义为:
if (${arg:localVar} == null)
throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null");
这使我可以在每个函数的开始处快速添加空参数检查(尤其是那些仅将参数保存到字段中或将其添加到集合中的检查,特别是构造函数),这对于及早发现错误非常有用。
请访问www.tarantsov.com/eclipse/templates/查看更多有用的模板。我不会在这里列出所有它们,因为有很多,而且我经常添加新的。
一些代码完成技巧:
这就是我添加字段的方式。
如果还没有构造函数,请添加一个。(在类声明中的任意位置按Ctrl-空格键,选择第一个建议。)
添加一个参数(|是光标位置):
public class MyClass {
public MyClass(int something|) {
}
}
按Ctrl-1,选择“分配到新字段”。你得到:
public class MyClass {
private final Object something;
public MyClass(Object something) {
this.something = something;
}
}
添加空指针检查(如果适用)(请参见上面的“ npe”模板):
public class MyClass {
private final Object something;
public MyClass(Object something) {
npe|
this.something = something;
}
}
按Ctrl-空格键,得到:
public class MyClass {
private final Object something;
public MyClass(Object something) {
if (something == null)
throw new NullPointerException("something is null");
this.something = something;
}
}
节省大量时间!
Crtl+ 1是我的最爱。快速解决红色花体的问题。
它也位于编辑菜单->快速修复中。
Ctrl+ Shift+ O来组织导入,这将很好地格式化它们,删除不需要的导入,并添加缺少的导入。
Ctrl-J启动增量查找。
按Ctrl-J,然后开始输入。使用向上/向下查找所键入内容的上一个/下一个实例。
Ctrl-Shift-J向后搜索。
输入“ syso”,然后按 Ctrl + Space将其展开到System.out.println()。
特雷斯方便。
单击方法声明中的返回类型将突出显示该方法的所有退出点。
例如:
1: public void foo()
2: {
3: somecode();
4: if ( blah ) return;
5:
6: bar();
7: }
单击void将突出显示第4行的返回值和第7行的close }。
更新:它甚至适用于try {} catch块。如果将光标放在catch块中的异常上,则eclipse将突出显示可能引发该异常的可能方法。
有一个选项可以自动将打开的花括号和分号放在“正确”位置。您必须启用此功能-选择“窗口/首选项”,然后在搜索框中键入“大括号”-应该容易找到(在这台计算机上不会出现日食)。效果:
(“ |”是光标):
if(i==0|)
现在输入“ {”将导致
if(i==0) {|
受Emacs启发的Hippie扩展/单词完成功能,将基于该文件中的其他单词自动完成任何编辑器中的任何单词。Java代码,xml文件中的String文字内部的自动完成功能,无处不在。
Alt + /
Alt-Shift-R代表重命名,而不是重构。重构是一个更笼统的术语(如本书所定义)。
不过,这是我最喜欢的重构之一。其他包括:
当我不记得(或打扰键入)方法的结果类型时,提取局部变量特别有用。假设您的类中有一个方法JdbcTemplate createJdbcTemplate()
,请编写如下代码:
void someQuery() {
createJdbcTemplate()
}
选择表达式createJdbcTemplate()
,单击Alt-Shift-L,输入变量名称,然后按Enter。
void someQuery() {
JdbcTemplate myTemplate = createJdbcTemplate();
}
Ctrl+ Shift+M:将类的静态方法或静态属性引用更改为静态导入。
之前
import X;
...
X.callSomething();
后
import static X.callSomething;
...
callSomething();
没有人提到最好的。单击类或方法名称,然后按Ctrl+T。
您将获得一个快速的类型层次结构。对于类名称,您会看到整个类层次结构。对于方法名称,您将获得显示超类和子类的层次结构,该方法的实现与抽象提及或未提及该方法的类有所区别。
当您使用抽象方法声明并且很快想知道在哪里实现时,这是巨大的。
F3 是我的最爱,打开所选项目的定义。
Ctrl+ Shift+ R具有有趣的功能,您可以在搜索时仅使用类的大写驼峰字母(例如,键入CWAR将显示ClassWithAReallyLongName的结果)。
Alt+ Shift+ W> Package Explorer使浏览大型项目时的工作变得更轻松。
CTRL + SPACE,适用于任何地方。
生成获取器和设置器。
使用字段创建构造函数
提取方法...
重构->重命名
CTRL + O快速概述。CTRL + O + CTRL + O用于继承的大纲。
F4显示类型层次结构
打开“调用层次结构”以显示从何处调用方法。
CTRL + SHIFT + T打开Java类型
Ctrl + Shift + R打开任何资源。
ALT +向左或向右前进或向后浏览文档中的编辑位置(轻松导航)
重写/实现方法,如果您知道要执行很多方法(否则,一次选择CTRL + SPACE更好。
重构->提取接口
重构->拉起
重构->下推
用于组织导入的CTRL + SHIFT + O(在键入诸如Map之类的常规类名称时,按CTRL + SPACE然后选择适当的类将直接为您导入)。
CTRL + SHIFT + F进行格式化(尽管Eclipse的内置格式化程序对于长行代码可能有点死脑筋)
编辑:哦,是的,一些调试:
F5:进入(向我显示详细信息!)
F6:跨步(相信您,继续下一部分...)
F7:走出去(我以为我很在意这种方法,但事实证明我不喜欢,让我离开这里!)
F8:恢复(继续直到到达下一个断点)
CTRL + SHIFT + I:检查一个表达式。CTRL + SHIFT + I + CTRL + SHIFT + I:在检查的表达式上创建监视表达式。
有条件的断点:右键单击一个断点,您可以设置一个条件,该条件会触发该条件来中断程序的执行(可在此处使用Ctrl + Space进行上下文辅助!)
F11-调试最后启动(应用程序)
CTRL + F11-运行上次启动的(应用程序)
Eclipse使您可以根据发生异常的位置设置断点。
您可以通过“ j!” 访问该选项。在调试窗口中的替代文本http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.png图标。
替代文字http://blogs.bytecode.com.au/glen/2007/04/06/images/2007/AddExceptionWindow.png
官方帮助主题“ 添加Java异常断点 ”对此有更多说明。
RuntimeException
配置为在子类上挂起,则它也将由触发NullPointerException
。Ctrl+ Alt+ H一个方法来获得调用层次吧。快速查看从何处调用它的方法。
这是我针对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最好的把戏。
假定为默认设置(并且您尚未添加新的代码段)
突出显示(或选择)文本(字符串或变量)...按Ctrl + Space。点击结束+输入。触发“ sysout”代码段,该代码段将选择内容包装为参数。
例如。
"hello world!"
becomes
System.out.println("hello world!");
我非常喜欢它,以至于我在手动调试过程中为Android的Toast和Log.i()HUGE节省了时间。