代码之家  ›  专栏  ›  技术社区  ›  NBlackout

Eclipse格式。在打开块的大括号之前删除新行

  •  1
  • NBlackout  · 技术社区  · 12 年前

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

    Eclipse格式以下代码

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

    p = new JPanel(new GridLayout(0, 1));
    {
        p.add(login);
        p.add(password);
    }
    frame.add(p, BorderLayout.EAST);
    
    3 回复  |  直到 12 年前
        1
  •  1
  •   Vitaly    12 年前

    我有时也会使用这种技巧。

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

    我想说,这很好:)

    认为 p = new JPanel(new GridLayout(0, 1)); 不是一个控制以下块的语句,因此它无法打开它。当我们发现 } 我们直观地期望在开头使用/if/etc,这与 { 。但是 p = new ... 这没有任何意义——首先想到的是,IF或其他什么在哪里!:)

    我们只希望块与外部块分离——在纹理上或在vars可见性中。所以当向上滚动时,我们发现了开始 { 在相同的缩进处(之前没有控制或其他语句)-就这样。没有其他想法,一切都很好。

    只要改变你的想法,你就会享受 { 排队乞讨。

    附言:我使用标准格式,所以所有其他的开始大括号都在代码的最后一行。

        2
  •  1
  •   Raghu    12 年前

    转到项目->属性->Java Coe风格->格式化程序->配置工作区设置->编辑->支撑

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

        3
  •  0
  •   jalbr74    11 年前

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

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

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