【问题标题】:Add a prefix to package names by default?默认情况下为包名称添加前缀?
【发布时间】:2017-03-13 18:04:39
【问题描述】:

我正在使用 IntelliJ 处理 Scala 项目。默认情况下,如果我添加一个新的 Scala 类,则会自动添加包声明以匹配目录结构。此外,如果包声明不遵循此格式,IntelliJ 会显示警告。

但是,我正在处理的代码库有一个约定,即所有包都以公司名称为前缀(因此,如果文件位于 scala/some/folder 中,则包应为 company.some.folder,但我得到的是 @987654324 @ 反而)。有没有办法让 IntelliJ 尊重这一点,而不是手动编辑我创建的每个文件?

【问题讨论】:

  • 我不确定它是否可能。如果有什么东西,请寻找设置,但我猜它没有。发现有点相似JIRA issue
  • @prayagupd 我在发布问题之前尝试过,但我想也许其他人会知道。
  • 你为什么不创建scala/company/some/folder文件夹并将你的文件放在那里?
  • @CrazyCoder 好吧,我没有决定标准,我怀疑有人会对我的建议感到兴奋,即我们更改整个目录结构以便我的 IDE 更方便使用。
  • 不是IDE,是语言约定,包必须对应目录。

标签: scala intellij-idea


【解决方案1】:

在 IntelliJ IDEA 中,可以使用 set the package prefix 获取源根目录,专门用于此类设计不当的项目。在你的情况下,包前缀是company

【讨论】:

【解决方案2】:

CrazyCoder 的响应效果很好,但如果您想一次设置多个模块,有一种比手动单击每个模块更快的方法。

在项目根目录的.idea 文件夹中,有一个modules 文件夹。其中有一堆 .iml 文件,用于您的模块,其中包含 XML 内容。您可以使用packagePrefix 属性编辑sourceFolder 节点以获得相同的效果,并且您可以通过使用右键单击文件夹时出现的“在目录中查找和替换”选项轻松地执行此操作。

【讨论】:

    猜你喜欢
    • 2012-06-18
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 1970-01-01
    相关资源
    最近更新 更多