如何阻止Eclipse自动添加括号?

时间:2012-03-26 13:47:25

标签: eclipse parentheses

例如,如果我输入“整数”。然后点击CTRL + SPACE,现在从列表中选择“valueOf”,Eclipse总是在函数名后添加“()”。这对我来说真的很烦人,因为我经常会有一个已经存在的语句并希望在它周围包装一个函数。

示例: 我想改变

String x = "hello world";

String x = StringManipulator.uppercase("hello world");

如果我写

String x = StringManipulator."hello world";

点击点字符上的CTRL + SPACE,插入

String x = StringManipulator.uppercase()"hello world";

有没有办法解决这个问题?我不需要自动括号关闭但只是阻止Eclipse自动插入它们会对我有所帮助。

3 个答案:

答案 0 :(得分:13)

转到eclipse中的偏好设置 - >进入搜索框类型:“parent” - >取消选中您不喜欢的选项。这就是那个混乱中的搜索(eclipse偏好)。

答案 1 :(得分:10)

我发现这种无关紧要的设置会产生很大的不同,所以我会提到它。

如果您在“内容辅助”偏好设置中选择“完成覆盖”而不是“完成插入”,则eclipse中的自动完成功能会有所不同。

(让wrappingMethod()成为将要完成的方法。)

wrappingMoriginalMethod()
用上面的“gM”后面的光标,接受完成建议给出:
wrappingMethod()

wrappingM(originalMethod()
用上面的“gM”后面的光标,接受完成建议给出:
wrappingMethod(originalMethod()
注意我必须添加打开的paren以防止覆盖,但没有额外的parens。

wrappingM originalMethod()
使用上面“gM”之后的光标,接受完成提议将给出:
wrappingMethod(parameterGuess) originalMethod()

到目前为止,我发现这是最舒适的选择。我认为,如果有一个“智能”括号插入功能,如果在现有的paren之前完成,并且因为我正在寻找,那么它将不会插入parens会很好...如果它可以检查它会更加棒极了那些现有的parens看看他们是否有我正在寻找的args并做一些聪明的事情或者在我的插入点之后检查方法,看看它是否应该是我完成的一个参数并且继续前进并做到这一点然后关闭如果已经存在一个,那么就在它之后和之前的分号之前。

然后,如果IDE写入我的所有代码,那么我会很快感到无聊。

答案 2 :(得分:4)

自动关闭括号是指在这种情况下打开括号时自动填充方法,在这种情况下,当您调用的方法有参数时,它将自动创建括号和将放置参数的块,没有方法只是在没有括号的情况下自动完成方法,但您可以创建一个模板来自动完成:

  1. 转到首选项:Java =>编辑=>模板
  2. 写下任何相关名称
  3. 在上下文中选择Java语句
  4. 内部模式写:StringManipulator.uppercase($ {line_selection} $ {cursor});
  5. 好的,好的,再次
  6. 现在,当您想要添加该功能时,只需选择要环绕的文本,按alt + shift + z,然后选择您之前创建的模板
  7. 希望有所帮助