Eclipse 自动格式化括号

Eclipse Autoformat Parenthesis

每当我在 java 代码中使用扫描器 class 时,我都会遇到问题: 假设我输入

Scanner in = new Scanner(System.in)

我一按分号,它becomes/autoformats变成了这个:

Scanner in = new Scanner(System.in;

这是唯一出现此问题的情况,我在编码时从未在其他任何地方看到过。我也没有在自动格式首选项中找到任何听起来像是解决这个问题的方法。

我想知道如何解决这个问题。

我可以在 Eclipse Mars 和 Eclipse Neon 中重现此行为,对我来说它看起来像是一个错误。

特别是,当我按 ) 过度键入自动插入的 ) 时,内容辅助 window 建议 System.in保持打开状态,然后 ; 选择它并吃掉 ).

因此我为它打开了一个错误报告:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=506729

要解决它(直到它被修复),您可以禁用其中一项相关功能:自动插入右括号、内容辅助(即自动完成)或内容辅助在键入分号时触发。 (所有这些都可以在 Java -> Editor 下的全局首选项中使用)。或者,您可以接受错误并关闭内容帮助,方法是使用 Enter 接受 System.in,或者在建议 window 打开但在输入分号之前。