好吧,这可能是一个蹩脚的问题,但每个人都以不同的方式使用这些东西.什么是这个IDE的最佳节省时间.
汤姆
不要忘记Ctrl+ Shift+ L,它会显示所有键盘快捷键组合的列表(以防您忘记此处列出的任何组合).
似乎没有人提到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)快得多.
实际上我去了Keys自定义首选项页面,并为Ctrl-2-something分配了各种其他快速修复程序.例如,我现在按Ctrl-2 J分割/加入变量声明,Ctrl-2 C将内部类提取到顶层,Ctrl-2 T为函数添加抛出声明等.有大量可分配的快速修复,选择你喜欢的并将它们分配给Ctrl-2快捷方式.
模板我的"npe"模板中的另一个最爱,定义为:
if (${arg:localVar} == null) throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null");
这允许我在每个函数的开头快速添加空参数检查(特别是那些仅将参数保存到字段中或将其添加到集合中的函数,尤其是构造函数),这对于早期检测错误非常有用.
请访问www.tarantsov.com/eclipse/templates/查看更多有用的模板.我不会在这里列出所有这些,因为有很多,因为我经常添加新的.
完成一些代码完成技巧:
在另一个答案中提到的驼峰案例支持:输入cTM,获取currentTimeMillis
默认构造函数:在没有默认构造函数的类声明中按下Ctrl-Space,第一个选择就是创建一个
重载:在类声明中开始输入你可以重载的方法的名称,Ctrl-Space,选择一个
getter/setter创建:输入"get",Ctrl-Space,选择要创建的getter; 与"是"和"设定"相同
分配到新字段
这就是我添加字段的方式.
如果还没有构造函数,请添加一个.(在类声明中的任何位置按Ctrl-Space,选择第一个提案.)
添加参数(|是光标位置):
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-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分别打开资源或类型.资源包括打开项目中的所有文件(包括非java文件),类型包括项目中或项目中包含的库中的Java类型.
Crtl+ 1是我的最爱.红色波浪线的快速修复.
它也位于编辑菜单 - >快速修复中.
Ctrl+ Shift+ O来组织导入,这将很好地格式化它们,删除不需要的导入,并添加缺少的导入.
Ctrl-J启动增量查找.
按Ctrl-J,然后开始输入.使用向上/向下查找键入内容的上一个/下一个实例.
Ctrl-Shift-J向后搜索.
键入"syso",然后按Ctrl+ Space将其展开为System.out.println().
特雷斯得心应手.
CTRL+ 3显示任何菜单命令的提前输入列表.
CTRL-SHIFT-g:查找光标下方法或字段的用法,对理解代码绝对必要
CTRL-F6:在打开的编辑器窗口列表之间导航,如果你只输入一次然后让你切换回上一个编辑器窗口,连续执行此操作是一种很好的来回跳转方式
CTRL-t:在类或方法上将显示类型层次结构,对于查找接口方法的实现非常有用
单击方法声明中的返回类型会突出显示方法的所有出口点.
例如:
1: public void foo() 2: { 3: somecode(); 4: if ( blah ) return; 5: 6: bar(); 7: }
单击void将突出显示第4行的返回和第7行的close }.
更新:它甚至适用于try {} catch块.如果将游标放在catch块中的异常上,eclipse将突出显示可能引发该异常的可能方法.
代码完成支持CamelCase,例如,键入CWAR
将显示结果ClassWithAReallyLongName
.开始使用此功能,您再也不会输入另一个长类名.
(从另一个答案复制的部分,因为我认为答案只有一个提示/提示最适合轮询)
Alt-Up Arrow将当前选择向上移动一行,Alt-Down Arrow将其向下移动.我也一直使用Alt-Shift-Up/Down Arrow.Ctrl-K和Ctrl-Shift-K非常方便,可以找到当前选择的下一个/上一个出现(如果没有选择任何内容,则查找最后一次查找).
可以选择将开口花括号和分号自动放置在"正确"位置.你必须启用它 - 选择窗口/首选项并在搜索框中键入"大括号" - 应该很容易找到(在这台计算机上没有eclipse).效果:
在该行的任何位置键入分号都会将其放在此行的末尾(如word/openoffice:Backspace如果您想将其放在原始位置)
当你只是在另一对括号内时键入一个开口花括号将它放在这一行的末尾 - 如本例所示
("|"是光标):
if(i==0|)
现在输入"{"将导致
if(i==0) {|
Hippie expand/Word Complete,由Emacs启发的afaik:将根据该文件中的其他单词自动填充任何编辑器中的任何单词.在Java代码中,在xml文件中,无处不在地自动完成字符串文字.
Alt + /
Alt-Shift-R代表重命名,而不是重构.重构是一个更通用的术语(由本书定义).
不过,这是我最喜欢的重构之一.其他包括:
Alt-Shift-M:提取方法(选择代码块或表达式时)
Alt-Shift-L:提取局部变量(选择表达式时)
当我不记得(或懒得键入)方法的结果类型时,Extract Local Variable特别有用.假设你的类中有一个方法JdbcTemplate createJdbcTemplate()
,写一些代码如下:
void someQuery() { createJdbcTemplate() }
选择表达式createJdbcTemplate()
,单击Alt-Shift-L,键入变量名称,然后按Enter键.
void someQuery() { JdbcTemplate myTemplate = createJdbcTemplate(); }
CTRL+ D- 删除当前行
当然,Ctrl+ Q去最后编辑位置.在被电话,老板或其他人打断后,它非常有用.
Alt+ Shift+ Up箭头确实升级选择.Alt+ Shift+ Down则相反.
Alt+ Up或Alt+ Down来移动线条
Ctrl+ Shift+ M:将类的静态方法或静态属性引用更改为静态导入.
之前
import X; ... X.callSomething();
后
import static X.callSomething; ... callSomething();
还没有人提到最好的一个.单击类或方法名称,然后按Ctrl+ T.
您将获得快速类型层次结构.对于类名,您将看到整个类层次结构.对于方法名称,您将获得显示超类和子类的层次结构,该方法的实现与抽象提及或未提及该方法的类区分开来.
当您处于抽象方法声明并且很快想要查看它的实现位置时,这是巨大的.
F3 一直是我的最爱,打开所选项目的定义.
Ctrl+ Shift+ R有一个有趣的功能,你可以在搜索时只使用类中的大写camel字母(例如键入CWAR将显示ClassWithAReallyLongName的结果).
Alt+ Shift+ W> Package Explorer使浏览大型项目时的生活更轻松.
非键盘快捷方式是在Team-> Synchronize视图中使用提交集来在提交之前组织您的更改.
将更改集设置为默认值,并且您对文件所做的所有更改都将放入该集中,从而可以在处理特定缺陷/功能时轻松查看已更改的内容,以及测试时所做的其他更改等.
CTRL + SPACE,任何地方,任何地方.
生成getter和setter.
使用字段创建构造函数
提取方法......
Refactor->重命名
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!" 访问该选项.调试窗口中的alt文本http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/images/org.eclipse.jdt.debug.ui/elcl16/exc_catch.png图标.
alt text http://blogs.bytecode.com.au/glen/2007/04/06/images/2007/AddExceptionWindow.png
官方帮助主题" 添加Java异常断点 "有更多内容.
Uncaught Exception选项是在未被捕获的位置抛出与断点相同类型的异常时暂停执行.
Caught Exception选项是在捕获的位置抛出与断点相同类型的异常时暂停执行.
不要忘了异常断点上挂起这个异常的子类:
中止执行中遇到的异常类型的子类时.
例如,如果将异常断点RuntimeException
配置为在子类上挂起,则它也将由a触发NullPointerException
.
alt text http://help.eclipse.org/stable/topic/org.eclipse.jdt.doc.user/reference/breakpoints/images/ref-breakpoint_suspendsubclass.PNG
Ctrl+ Alt+ UP或Ctrl+ Alt+ DOWN复制行
Ctrl+ Alt+ H一个获取它的调用层次结构的方法.快速查看调用位置的方法.
Alt+ Shift+ R重构和重命名.
Ctrl+ Shift+ L将显示所有当前可用的键盘快捷键
这是我为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 +空格键.点击结束+输入.触发"sysout"片段,将选择包装为其参数.
例如.
"hello world!" becomes System.out.println("hello world!");
我非常喜欢它,因此我在Android手动调试期间为Android的Toast和Log.i()巨大的时间保护程序实现了类似的片段....
Ctrl-Alt-h打开所选方法的"调用"层次结构.
对大型代码库或未知代码库非常有用
Ctrl +和Ctrl +.将文本光标移动到源中的下一个和上一个错误或警告(红色或黄色波浪形).如果您在重构或粘贴的深度处理大量脏代码或损坏代码时,这非常有用.结合Ctrl + 1进行建议修复,您可以快速修复代码,而无需将手移动到鼠标.
事实上,你几乎不必将手指从Ctrl上抬起......
隐藏的gem是条件断点.跳过部分循环非常有用,如果某些东西为空或者遇到某个值,则暂停等等......只需右键单击断点,Breakpoint Properties
- > Enable Condition
.文本框中甚至还有代码辅助!