当我选择“代码→优化导入”或“代码→重新格式化代码”时,→确实对导入进行了优化和排序,但即使我使用的是来自Kotlin代码样式的代码样式设置,导入也不会按字典顺序排序(至少不是完全按顺序排序)。io.kotlintest.specs.ShouldSpecimport kotlinx.coroutines.withContext
import org.intellij.lang.annotations.Languagehere i
导入seems to be configured in Editor | General | Auto Import的优化。然而,这似乎不允许控制如何对导入进行分组(根据包名中的公共前缀用空行分隔)和排序(我想关闭分组,同时仍然自动对导入进行排序并删除未使用的导入)。我使用的是IntelliJ IDEA 2018.3.4 (社区版) von Ubuntu18.10。
在Scala中,从增量编译器( sbt,Eclipse中的sbt,IntelliJ)的效率和速度的角度来看,使用通配符导入是不是很糟糕?例如,如果对于一个新类X,我只需要从pack包中导入类A和B (而不是C),我是否会因为编写以下代码而受到惩罚:而不是这个?import pack.{ A, B }
假设A和B对C没有依赖关系,那么当X更改时,是否会使用通配符导入而不是更具体的导入重新编译C,或者依赖跟踪