Java Intellij Idea:如果在两行上,则为一行

Java Intellij Idea:如果在两行上,则为一行,java,intellij-idea,ide,Java,Intellij Idea,Ide,所以我是Intellij IDE的新手,到目前为止我非常喜欢它。只是在获取Java的代码样式设置时遇到了一些问题。我不喜欢在一行if语句中使用大括号,但我喜欢在两行中使用大括号: if(true) dosomething(); 现在,当我在Idea中运行代码格式化时,它会上移到一行: if(true) dosomething(); 我发现这很难理解,但我似乎无法正确设置。有谁能帮我一下,告诉我我需要设置什么来保持两行,但仍然没有支架?找不到它,我觉得很傻。谢谢 在settings->

所以我是Intellij IDE的新手,到目前为止我非常喜欢它。只是在获取Java的代码样式设置时遇到了一些问题。我不喜欢在一行if语句中使用大括号,但我喜欢在两行中使用大括号:

if(true)
    dosomething();
现在,当我在Idea中运行代码格式化时,它会上移到一行:

if(true) dosomething();

我发现这很难理解,但我似乎无法正确设置。有谁能帮我一下,告诉我我需要设置什么来保持两行,但仍然没有支架?找不到它,我觉得很傻。谢谢

在settings->CodeStyle->WrappingandBraces中取消选择一行中的
简单块
,然后它应该可以工作。这对我有用


这听起来可能很奇怪,但即使是我也在一行中选择了
简单块
未选中。我也面临着同样的问题。但是如果我在方法的大括号后留下一行空行,IntelliJ不会将整个代码移到一行

为了更好地理解

  • 问题行为

    public void methodA(){ 
        System.out.println("No blank line left");
    }
    
    现在,当您再次关闭并打开文件时,IntelliJ会执行此操作

    public void methodA(){ System.out.println("No blank line left"); }
    
  • 正确的行为

    public void methodA(){ 
    
        System.out.println("left a blank line above");
    }
    
    现在,当您再次关闭并打开该文件时,它仍然保持不变

    public void methodA(){ 
    
        System.out.println("left a blank line above"); 
    }
    

  • 请注意,IntelliJ版本是Ultimate 14.1.4

    您在一行上尝试过控制语句吗?为我做。

    对于-IntelliJ for Javascript,此选项位于
    首选项->编辑器->代码样式->Javascript->包装和大括号中

    我没有选中它,但对于if()语句,“强制大括号”似乎是“不强制”,它只是将它们缩回。任何其他的“强力支架”选择都会将它们放在一行中。