问题

好吧,这可能是一个蹩脚的问题,但每个人都以不同的方式使用这些东西。什么是这个IDE的最佳节省时间。

汤姆


#1 热门回答(140 赞)

不要忘记按Ctrl Shift L,它会显示所有键盘快捷键组合的列表(以防你忘记此处列出的任何组合)。


#2 热门回答(119 赞)

#Ctrl-2的东西

似乎没有人提到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快捷方式。

#Template

我的"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,选择"分配给新字段"。你得到:公共类MyClass {
        私人最终对象的东西;
        public MyClass(Object something){
            this.something =某事;
        }
    }
  • 如果合适,添加空指针检查(参见上面的"npe"模板):public class MyClass {
        私人最终对象的东西;
        public MyClass(Object something){
            NPE |
            this.something =某事;
        }
    }
     点击Ctrl-Space,获取:public class MyClass {
        私人最终对象的东西;
        public MyClass(Object something){
            if(something == null)
                抛出新的NullPointerException("something is null");
            this.something =某事;
        }
    }

节省时间!


#3 热门回答(82 赞)

ctrl-shift-r及其伙伴ctrl-shift-t分别打开资源或类型。资源包括打开项目中的所有文件(包括非java文件),类型包括项目中或项目中包含的库中的Java类型。


原文链接