【问题标题】:Intellij IDEA plus sign when String wrap字符串换行时的 Intellij IDEA 加号
【发布时间】:2011-09-18 12:06:04
【问题描述】:

我正在使用 Intellij IDEA 10.5 社区。 如果我有一个长字符串并且想分成多行,我在字符串中间按 ENTER 键并得到这个:

String str = "ONE LONG" +
             "STRING";

是否可以将+号放在行首,像这样:

String str = "ONE LONG"
             + "STRING";

【问题讨论】:

  • LOL,原谅题外话,但是为什么休息后有加号?
  • @sandalone 我需要这个,因为在我目前的工作中,所有代码都使用 Sonar 检查,其中一个烦人的规则要求加号位于新行而不是前一行的末尾行...
  • 您可能会觉得这很烦人,但我发现它使代码更具可读性。我可以查看行首并立即知道它是最后一行的延续(即使最后一行的结尾不在屏幕上)。
  • 如果你想在一个步骤中注释掉多行字符串的某些行也很有用
  • 为什么默认设置是将它放在行尾,这超出了我的理解。 AFAIK,大多数风格指南更喜欢它。此外,这就是普通旧数学的工作方式(即运算符在新行上重复)。

标签: string intellij-idea


【解决方案1】:

设置 |代码风格 | Wrapping and Braces,在 Binary Expressions 组下启用 Operation sign on next line

【讨论】:

  • @KimballRobinson,使用示例文件在youtrack.jetbrains.net/issues/IDEA 提交错误,并使用 File | 导出您的代码样式。导出设置。
  • 今天也可以使用!。选项没有改变。使用 IntelliJ Idea 2019.2
【解决方案2】:

在 IntelliJ 15 中,此设置位于

下的首选项中

Editor > Code Style > Java > Wrapping and Braces (tab) > Binary Expressions (group) > Operation sign on next line (check box)

【讨论】:

    【解决方案3】:

    如果有人在使用 Android Studio:

    Android Studio > 设置 > 编辑器 > 代码样式 > Java

    单击“环绕和大括号”选项卡,然后找到“二进制表达式”组。 那里有“下一行的操作标志”复选框

    【讨论】:

      【解决方案4】:

      在 2016.3 只有这对我有帮助:

      在编辑器中,点击菜单:code->generate->tostring->settings->template tab-> copy "String concat (+)",这样你就可以编辑一个新的模板了。

      然后在模板中粘贴这个:

      public java.lang.String toString() {
      #if ( $members.size() > 0 )
      #set ( $i = 0 )
          return "$classname{"
      #foreach( $member in $members )
      #if ( $i == 0 )
          + " ##
      #else
          + ", ##
      #end
      #if ( $member.objectArray )
      #if ($java_version < 5)
      $member.name=" + ($member.accessor == null ? null : java.util.Arrays.asList($member.accessor)) +
      #else
      $member.name=" + java.util.Arrays.toString($member.accessor)
      #end
      #elseif ( $member.primitiveArray && $java_version >= 5)
      $member.name=" + java.util.Arrays.toString($member.accessor) 
      #elseif ( $member.string )
      $member.name='" + $member.accessor + '\'' 
      #else
      $member.name=" + $member.accessor
      #end
      #set ( $i = $i + 1 )
      #end
          + '}';
      #else
          return "$classname{}";
      #end
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-18
        • 2011-11-27
        • 2013-08-22
        • 1970-01-01
        • 2012-09-13
        相关资源
        最近更新 更多