【问题标题】:Extra space after Join Lines in IntelliJ在 IntelliJ 中加入行后的额外空间
【发布时间】:2014-02-14 16:44:10
【问题描述】:

IntelliJ IDEA 13.0.1、13.0.2(但也可能适用于更早/更高版本)

考虑以下几点:

Collections.addAll(
    new ArrayList<Object>(), 
    new Object());

我做“加入行”,因为它适合一行:

Collections.addAll( new ArrayList<Object>(), new Object());
//                 ^ space is annoying      ^ space is nice

“加入行”在当前行和下一行之间添加一个额外的空格。对于某些行来说这很有意义,但是第一个参数之前的空格一直困扰着我。

我的解决方法是选择并“重新格式化代码”,但如果不需要,我不想执行额外的步骤。

有没有更好的方法让“加入行”不添加第一个空格?


注意事项:

编辑 > 连接线

  • Mac OS X:⌃⇧J
  • Windows:Ctrl+Shift+J

代码 > 重新格式化代码

  • Mac OS X:⌥⌘L
  • Windows:Ctrl+Alt+L

【问题讨论】:

  • 在 Linux 上的 Idea 133.471 (13.0.2 EAP) 中运行良好。在第一行的任意位置 CTRL-SHIFT-J 创建Collections.addAll(new ArrayList&lt;Object&gt;(), 并将光标移动到新关键字之前。旧的 13 BETA (133.124) 也是如此。我之前没有发现这个问题。
  • 您尝试使用新配置了吗?也许您过去修改了格式并忘记了它?

标签: intellij-idea


【解决方案1】:

这似乎是代码样式设置中的错误。

如果您修改默认方案并检查以下设置,则会出现错误(方法声明和调用):

代码样式 > Java > 换行和大括号 +- 方法声明参数 | \- '(' 后的新行 \- 方法调用参数 \- '(' 后的新行

另外,方法声明或调用中需要有多个参数。

Here is the issue in JetBrains' YouTrack.

【讨论】:

    【解决方案2】:

    我怀疑您设置了非默认格式。试试:

    File -&gt; Settings -&gt; Code Style -&gt; Java -&gt; Spaces 并取消选中 Method call parantheses

    【讨论】:

    • Before 部分中,未选中以下内容:Method call parenthesesMethod declaration parentheses。在Within 部分中,未选中以下内容:Method call parentheses。我认为它也可能是代码样式的东西,但是重新格式化代码不会删除那个空间。
    • 您是否尝试过使用新配置(将 ~/.IntelliJIdea13 或 ~/.IdeaIC13 重命名为其他名称)?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多