【问题标题】:How to prevent auto formatting after moving files to another package in Android Studio?将文件移动到 Android Studio 中的另一个包后如何防止自动格式化?
【发布时间】:2019-07-27 01:41:18
【问题描述】:

每当我尝试将文件移动到另一个包时,Android Studio 都会将文件的代码结构重新格式化为不同的状态。

例如这部分代码:

doSomething(makeSomeParameters(value1, value))

变成:

doSomething(
    makeSomeParamaters(
        value1,
        value2
    )
)

请注意,此行不超过 100 列限制。

我使用来自官方Kotlin style guide的代码风格。

要根据本样式指南配置 IntelliJ 格式化程序, 请安装 Kotlin 插件版本 1.2.20 或更高版本,转到设置 | 编辑 |代码风格 | Kotlin,点击上方的“Set from…”链接 右上角,然后从 菜单。

【问题讨论】:

  • // @formatter:off(在末尾有一个对应的 on 而不是 off)可能会阻止格式化程序执行此操作 - 但您可能必须先在设置中启用它。跨度>
  • 您能否指出我应该在设置中更改它的哪个位置以及它的含义?
  • 注释本身是不言自明的——它会切换格式化程序。您将 off 放在您不想自动格式化的块的开头,并在最后重新启用它。这可以是单行、整个函数或更多。该设置位于“格式化程序控件”选项卡下的文件 -> 设置 -> 编辑器 -> 代码样式中 - 是的,您确实需要启用它。您还可以根据需要对其进行自定义,因此如果您喜欢其他内容,实际上不需要使用@formatter:[on/off] 模式。
  • 我可能应该指定手动启用和禁用 - 不幸的是它不会自动解决问题。这也可能是格式化程序中的错误
  • 就像我说的那样,效率不高也不漂亮,但它可以解决问题。如果这是一个错误,您还应该考虑将其报告给 JetBrains 问题跟踪器

标签: android-studio intellij-idea kotlin


【解决方案1】:

当您尝试将文件移动到另一个包并且 Android Studio 显示此对话框时:

取消选中更新包指令复选框; Android Studio 不会重新格式化文件中的代码。

【讨论】:

    猜你喜欢
    • 2013-03-10
    • 2015-06-06
    • 2017-08-17
    • 2018-06-20
    • 1970-01-01
    • 2014-04-17
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多