在IDEA的构建定义模块的Imports选项卡下,SBT隐式导入的目的是什么?

时间:2014-06-17 13:02:02

标签: scala intellij-idea sbt

这是IDEA 13.1 135.1019。

我刚刚注意到Scala / sbt项目的构建模块的Imports选项卡。

enter image description here

它在File > Project Structure下( Ctrl + Alt + Shift + S )。

该功能的目的是什么?

1 个答案:

答案 0 :(得分:1)

这些是导入,在build.sbt个文件中可见。

Idea使用自己的解析器来解析这些文件,因此需要知道哪些导入在文件的上下文中是可见的。当它构建一个PSI树(它或多或少像AST树,但具有额外的语言特定语义)时,需要它来提供语法高亮和代码完成。

你可以做一点测试。您无法添加新导入,但可以删除现有导入。尝试删除Keys._并在build.sbt中突出显示sbt键应该停止工作。有趣的是,如果你有任何其他插件,属于那些其他插件的密钥仍然可以工作。

如果您对细节感兴趣,可以查看SbtFileImpldocumentation on PSI Files,如果您有勇气,可以查看developing custom language plugins上的文档。