如何阻止IntelliJ Idea在移动或复制Scala文件时更改包声明
与Java不同,Scala不要求文件的位置与文件的包声明相对应,例如,包如何阻止IntelliJ Idea在移动或复制Scala文件时更改包声明,scala,intellij-idea,directory,package,Scala,Intellij Idea,Directory,Package,与Java不同,Scala不要求文件的位置与文件的包声明相对应,例如,包com.company.project中的文件不必位于com/company/project中。我公司的Scala项目的目录结构与其包结构不一致,Scala编译器对此非常满意 但是,在移动或复制Scala文件时,IntelliJ会自动更改文件的包声明以匹配其位置。为了解决这个问题,我必须手动恢复更改,或者使用单独的工具来执行这些文件操作 有没有办法禁用这种行为 (是相关的,但没有描述我所说的确切行为。)这在目前是不可能的。J
com.company.project
中的文件不必位于com/company/project
中。我公司的Scala项目的目录结构与其包结构不一致,Scala编译器对此非常满意
但是,在移动或复制Scala文件时,IntelliJ会自动更改文件的包声明以匹配其位置。为了解决这个问题,我必须手动恢复更改,或者使用单独的工具来执行这些文件操作
有没有办法禁用这种行为
(是相关的,但没有描述我所说的确切行为。)这在目前是不可能的。JetBrains YouTrack上已打开此功能的请求。我对此表示怀疑。这种行为深深植根于Java中;我认为不可能用语言禁用它。@duffymo正如我在问题中提到的,Scala本身对于与包结构不匹配的目录结构没有问题-这纯粹是IDE问题。我编辑了这个问题来强调这一点。是的,我理解。我同意:我认为这是一个IDE问题。“IntelliJ”中的“J”表示“Java”。虽然JetBrains的人非常聪明,但如果他们的IDE能说“如果是Java,那么就这样做;Scala就那样做”,我会感到惊讶。也许更好的地方是JetBrains社区支持。