Java Eclipse格式。拆下新线,然后再打开块的支架

Java Eclipse格式。拆下新线,然后再打开块的支架,java,eclipse,block,braces,Java,Eclipse,Block,Braces,有没有办法防止Eclipse在块打开大括号之前添加新行 Eclipse格式的以下代码 p = new JPanel(new GridLayout(0, 1)); { p.add(login); p.add(password); } frame.add(p, BorderLayout.EAST); 到 转到项目->属性->Java Coe样式->格式化程序->配置工作区设置->编辑->大括号 将“匿名类声明”更改为“同一行”我有时也使用这种技术 我认为在Eclipse中您将无法做

有没有办法防止Eclipse在块打开大括号之前添加新行

Eclipse格式的以下代码

p = new JPanel(new GridLayout(0, 1)); {
    p.add(login);
    p.add(password);
}
frame.add(p, BorderLayout.EAST);


转到项目->属性->Java Coe样式->格式化程序->配置工作区设置->编辑->大括号


将“匿名类声明”更改为“同一行”

我有时也使用这种技术

我认为在Eclipse中您将无法做到这一点

我会说,这很好:)

想想看,
p=newjpanel(newgridlayout(0,1))不是控制以下块的语句,因此无法打开它。当我们阅读代码时,当我们发现
}
时,我们直觉地期望在开始时使用/if/etc,它是
{
的同义词。但是只有
p=new…
它没有任何意义-首先想到的是,if或其他东西在哪里!:)

我们只希望块与外部块分开-文本或变量可见性。因此,当向上滚动时,我们发现开始的
{
位于同一缩进处(之前没有控制或其他语句)-仅此而已。没有其他想法,都很好

只要改变你对它的想法,你就会享受到行乞的乐趣


p、 我使用标准格式,因此所有其他起始大括号都位于代码的末尾。

我也非常喜欢在创建类时将初始化代码分组到块中。因此,我使用了一个小技巧,利用静态初始化器:

p = new JPanel(new GridLayout(0, 1)) {{
    add(login);
    add(password);
}};
frame.add(p, BorderLayout.EAST);

如您所见,您可以调用“add”,而无需在其前面加上“p”。如:“p.add”,您不再需要担心Eclipse将大括号放在下一行的开头,因为分号放在整个块的末尾。

为什么要这样做?该块是匿名块,与面板的声明完全无关。您确定不会将其与处理程序的代码混淆吗连接到面板?这将按照您的意愿进行格式化。我使用匿名块以便于重新阅读。所有这些块内容将添加到面板并缩进。酷。我还使用此技术隐藏重复的局部变量和/或解耦一些代码片段。所有大括号位置都定义为“同一行”谢谢你的澄清,在这个意义上我同意你的看法。这只是我在这个特殊情况下经常使用的惯例。我会以不同的方式来看待它。。。
p = new JPanel(new GridLayout(0, 1)) {{
    add(login);
    add(password);
}};
frame.add(p, BorderLayout.EAST);