【问题标题】:No line break after @Override annotation?@Override 注释后没有换行符?
【发布时间】:2023-04-01 09:18:02
【问题描述】:

重写方法时,android studio 会自动在@Override 注解后插入换行符。

我怎样才能让IDE 在没有换行符的情况下插入@Override 并让它紧跟在方法声明之后(即在同一行上?):

@Override public Fragment getItem(int position) { ... }

代替:

@Override
public Fragment getItem(int position) { ... }

【问题讨论】:

    标签: java ide android-studio


    【解决方案1】:

    File -> Settings -> Code Style -> Wrapping and Braces -> Method annotations and set to Do not wrap.

    注意:更改设置实际上不会重新格式化所有现有设置。正如您在问题中所希望的那样,它在由 IDE 自动插入时不会被包装。这适用于方法的所有注释。

    【讨论】:

    • Field annotations 执行相同操作以避免字段换行。这在使用 View Injector 时很有帮助,例如 ButterKnifeDagger
    • 当我生成接口方法时,生成方法的@override 仍然在单独的行上。我可以把它们排成一行吗?
    • 在新的 Android Studio 中更新:文件 -> 设置 -> 编辑器 -> 代码样式 -> Java/Kotlin -> 包装和大括号 -> 将弹出显示的列表。
    【解决方案2】:

    可以将它放在同一行,但我建议不要这样做。通常将注释放在单独的行上。

    • 没有任何理由不遵守约定会给开发多个项目或更改项目的开发人员带来不便
    • 当您使用许多注解时,这些行将很容易中断约 120 个字符,从而降低代码的可读性

    如果您仍然希望它们在同一行,这是一个解决方案: Intellij code formatting, Java annotations on new lines

    【讨论】:

      【解决方案3】:

      从 Java 语法的角度来看,将 @Override 注释与方法签名放在同一行是完全有效的。要做的一件事是调整 IDE 自动格式化设置。

      【讨论】:

      • 谢谢,事实上我在想怎么做 :)。为了清楚起见,编辑了问题。
      猜你喜欢
      • 2013-07-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2012-02-02
      • 2012-06-12
      • 2014-09-29
      • 1970-01-01
      • 2011-06-14
      相关资源
      最近更新 更多