【问题标题】:How to shorten imports in Android Studio for cleaner code如何缩短 Android Studio 中的导入以获得更简洁的代码
【发布时间】:2020-11-14 15:45:29
【问题描述】:

Android Studio 中是否有一个简单的快捷方式来重构它:

@GET(WSConstants.ENDPOINT_SINGLE_ACCOUNT)
suspend fun getAccount(@Path(WSConstants.PARAM_ACCOUNT_ID) accountId: String?): Call<Account>

到:

@GET(ENDPOINT_SINGLE_ACCOUNT)
suspend fun getAccount(@Path(PARAM_ACCOUNT_ID) accountId: String?): Call<Account>

其次,它被认为是好的做法吗?我觉得它看起来更干净。

【问题讨论】:

    标签: android android-studio


    【解决方案1】:

    导入时写入静态变量的完整路径。 例如:

    import my.package.name.WSConstants.ENDPOINT_SINGLE_ACCOUNT
    import my.package.name.WSConstants.PARAM_ACCOUNT_ID
    

    【讨论】:

    • 我想要一个快捷方式。编写完整路径的工作量太大
    • 导入不能缩短。但是在使用完整路径进行 imoorting 之后,您可以按照您的要求使用常量
    • 我确定 Android Studio 中必须有一些设置。
    【解决方案2】:

    AFAIK 没有直接的解决方案来做你想做的事。所以:

    解决方案 #1

    点击每个字段,例如ENDPOINT_SINGLE_ACCOUNT,然后按Alt+Enter,然后按第一个选项Add import for . ..。它用当前文件中所需的符号替换所有出现的选定字段。


    解决方案 #2

    最简单的方法是在导入多个字段时使用wildcard imports (*)。这将是最高程度的收缩。

    import your-package.*
    

    为了获得这种简洁的好处,首先,从对象类中提取常量并将它们放入 kotlin 文件中:

    WSConstants.kt

    package your-package
    
    const val ENDPOINT_SINGLE_ACCOUNT = "..."
    const val PARAM_ACCOUNT_ID = "..."
    

    然后

    1. Ctrl+Shift+R打开Replace in Path窗口

    2. 按窗口右侧的.* 启用正则表达式

    3. WSConstants[.*] 替换为空字符串以删除类中的WSConstants. 模式

    替换WSConstants


    补充:

    要定义自己的策略来组织导入,您可以通过以下方式进行:

    文件 > 设置 > 编辑器 > 代码样式 > Kotlin > 导入(选项卡)

    【讨论】:

    • 我很惊讶没有直接的解决方案,因为我认为它使代码绝对更具可读性和更简单。但是谢谢你!
    • 谢谢 Jim :) 是的,我已经探索了所有相关的 IntelliJ 文档以找到线索,不幸的是没有成功。我同意你的观点,这样代码看起来更干净,至少由于去除了不必要的前缀,代码碎片发生的更少。
    【解决方案3】:

    Java 中没有导入别名机制。您不能导入具有相同名称的两个类并使用不合格的两个类。

    导入一个类并为另一个类使用完全限定名称,即

    import com.text.Formatter;
    
    private Formatter textFormatter;
    private com.json.Formatter jsonFormatter;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 2021-08-27
      • 2021-11-17
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      相关资源
      最近更新 更多