背景
我有一个由sbt管理的Scala项目,使用了通常的sbt项目布局来处理具有宏的Scala项目,即包含宏的子项目和作为实际应用程序并依赖于宏子项目的主项目。这些宏是宏注解,本质上为常规类生成伴随对象。生成的伴随对象声明了apply/unapply等成员。
我使用sbt-idea插件生成了相应的IntelliJ IDEA项目,并使用IDEA的sbt-plugin中的sbt控制台来编译和运行Scala应用程序。
一切都还好,只是生成的伴随对象和更重要的是它们的成员,例如apply/unapply,在IDEA中无法识别。因此,我在任何使用apply方法的地方都会看到虚线。
我的设置是Windows 7 x64上带有SBT 1.5.1和Scala 0.28.363插件的IntelliJ IDEA CE 133.471。
问题
如何使IntelliJ IDEA识别由Scala宏(确切地说是宏注解)生成的代码(类、对象、方法等)?
其他IDE,如Eclipse,在这种设置中是否工作更好?
相关
这个问题(较少详细)基本上问了同样的问题,但还没有得到回答(2014年2月26日)。
根据JetBrains开发人员的说法,我请求的功能在他们的长期待办事项清单上,但不会很快实现(2014年3月5日)。