Eclipse'匿名内部类型' - 自动完成

时间:2010-08-30 13:36:17

标签: java eclipse templates autocomplete

有时我倾向于使用eclipse(3.5)中的自动完成功能来获取匿名内部类型。出于某种原因,eclipse总是以错误的顺序放置结尾括号和分号。一个小例子:

button.addActionListener( new Act... ) // <-- Pressing Autocomplete (strg+space)

结果:

button.addActionListener( new ActionListener()
{

  @Override
  public void actionPerformed( ActionEvent e )
  {
    // TODO Auto-generated method stub

  }
};) // <-- why?

Didnt在日食的编码模板中找到了它。我也不能切换到3.6,虽然我不知道,如果那已经“修复”了(如果这甚至应该是一个错误),因为eclipse可能只是不知道,它必须使用自动完成后面的括号。猜测处理有点复杂,因为他不会检查自动完成背后的字符,所以他不能使用结束括号?如果我错了,请纠正我。

猜猜我有一个糟糕的一天(常见的星期一!),这就是为什么它现在让我感到厌恶,但也许有人知道如何影响这种行为?

电贺, ymene

3 个答案:

答案 0 :(得分:4)

似乎(有点)在Helios(3.6)中工作。它根本没有放置分号。

答案 1 :(得分:2)

  

猜猜我有一个糟糕的一天(常见的   星期一!),这就是为什么它让我感到厌恶   现在,但也许有人有   想法如何影响这种行为?

提交Eclipse的错误。

这种行为确实让我感到有些困扰,但没有提到有关它的错误。

答案 2 :(得分:1)

然后试试这个(无论如何它都可能是更好的风格!):

ActionListener actionListener = new Act...
button.addActionListener(actionListener);

这是我认为他们可能想到的(因为在这种情况下,分号是有用的)。但是,如果Helios通过省略分号来解决这个问题,就像Skip Head建议的那样,那么他们似乎无法确定你是否在括号内写字 - 假设你的代码在这个阶段还没有编译。