在我们使用 IntelliJ 社区版的 scala 项目中,我们希望每个文件使用多个包,以便我们可以用更短的语法引用它们:
package com.dreamlines.dragonfly
package api
package domain
package harbours
import common.entities.EsHarbour
import common.utils.date.DLDateTime
然而 IntellJ 想要强制执行完全限定的包名称,因此在优化导入时它将代码更改为:
import com.dreamlines.dragonfly.common.entities.EsHarbour
import com.dreamlines.dragonfly.common.utils.date.DLDateTime
如何配置优化导入的行为?
它应该
- 至少保留缩短的进口或
- 充其量自动缩短较长的
我想保持优化导入的其他行为不变,例如删除未使用的导入、添加丢失的导入、排序导入。所以我不认为不使用优化导入是一个有效的选项。
我们还使用了scalafmt
格式化程序,所以它可能与我们.scalafmt.conf
在这个项目中看起来像这样:
version = 2.0.0
style = default
maxColumn = 120
continuationIndent.callSite = 2
continuationIndent.defnSite = 2
align.openParenDefnSite = false
align.openParenCallSite = false
danglingParentheses = true
indentOperator = spray
project.excludeFilters = [".*\\.sbt"]
rewrite.rules = [RedundantBraces, RedundantParens, prefercurlyfors]
unindentTopLevelOperators = true
importSelectors = singleLine
spaces.afterKeywordBeforeParen = true
lineEndings = unix
newlines.penalizeSingleSelectMultiArgList = false
newlines.alwaysBeforeElseAfterCurlyIf = false
binPack.literalArgumentLists = false
runner.optimizer.forceConfigStyleMinArgCount = 1