【问题标题】:Intellij Idea: One line if on two linesIntellij Idea:如果在两条线上,一条线
【发布时间】:2014-07-03 23:43:06
【问题描述】:

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

if(true)
    dosomething();

现在,当我在 Idea 中运行代码格式化时,它会向上移动到一行:

if(true) dosomething();

我发现这很难阅读,但我似乎无法正确设置设置。谁能帮助我并告诉我需要设置什么才能将其保持在两条线上但仍然没有大括号?感觉很笨,找不到。谢谢!

【问题讨论】:

    标签: java intellij-idea ide


    【解决方案1】:

    在设置 -> CodeStyle -> WrappingandBraces 中取消选择 Simple blocks in one line,然后它应该可以工作。它对我有用。

    【讨论】:

    • 我没有选中它,但对于 if() 语句,“强制大括号”似乎是“不强制”,它只会将它们缩小。任何其他“强制大括号”选择都将它们用于单线。
    【解决方案2】:

    你试过单行控制语句吗?为我做。

    【讨论】:

      【解决方案3】:

      这听起来可能很奇怪,但即使我也没有选中 simple blocks in one line 选项。我也面临同样的问题。但是如果我在方法的左大括号之后留了一个空行,IntelliJ 不会将整个代码移动到一行。

      为了更好地理解,

      1. 问题行为

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

        现在,当您再次关闭并打开文件时,IntelliJ 会执行此操作

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

        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

      【讨论】:

        【解决方案4】:

        对于Webstorm - IntelliJ for Javascript,此选项位于 Preferences->Editor->Code Style -> Javascript-> Wrapping and Braces

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-06-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-08
          • 1970-01-01
          • 1970-01-01
          • 2014-10-25
          相关资源
          最近更新 更多