首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使IntelliJ IDEA识别宏创建的代码?

如何使IntelliJ IDEA识别宏创建的代码?
EN

Stack Overflow用户
提问于 2014-02-26 16:33:35
回答 2查看 2.5K关注 0票数 40

背景

我有一个sbt管理的Scala项目,它使用带有宏的Scala项目的常规sbt项目布局,即包含宏的子项目--一个主项目,它是实际的应用程序,它依赖于宏子项目。宏是宏注释,本质上是为常规类生成伴生对象。生成的伴生对象在其他成员中声明应用/不应用方法。

我使用sbt插件生成相应的IntelliJ IDEA项目,并使用IDEA的sbt中的sbt控制台编译和运行我的Scala应用程序。

除了生成的同伴对象(更重要的是,它们的成员,如apply/unapply )不被IDEA所识别外,一切都或多或少地工作得很好。因此,我在任何地方都会得到一条支离破碎的线,例如,一种应用方法。

我的设置是IntelliJ IDEA CE 133.471,其插件为SBT1.5.1和x64 7上的Scala0.28.363。

问题

如何让IntelliJ识别代码(类、对象、方法、.)这是由Scala宏生成的(准确地说,是宏注释)?

其他IDE,例如Eclipse,在这种环境下工作得更好吗?

相关

这个问题 (不太详细)本质上要求相同,但还没有得到答复(2014-02-26)。

据一位JetBrains开发人员我要求的功能在他们的长期待办事项清单上,但不会在短期内实现(2014-03-05年)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-29 13:34:26

在最新的Scala插件构建中,有一个API可以用来编写自己的插件以支持宏:http://blog.jetbrains.com/scala/2015/10/14/intellij-api-to-build-scala-macros-support/

现在,每个人都可以使用这个API使他们的宏对他们最喜欢的IDE更加友好。为此,您必须实现SyntheticMembersInjector,并将其注册到plugin.xml文件中:

票数 8
EN

Stack Overflow用户

发布于 2014-12-22 23:27:50

如果有的话似乎支持有限。

引用此链接:http://blog.jetbrains.com/scala/2014/01/23/heading-to-the-perfect-scala-code-analysis/

代码语言:javascript
运行
复制
Alexander Podkhalyuzin says:    

2014年01月30日上午10时13分

我们开始支持Scala宏,但这不是一个简单的任务,所以我不能保证它很快就会完成。

向你问好亚历山大·波德卡留津。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22047492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档