Wie kann IntelliJ IDEA von Makros erstellten Code erkennen?

Hintergrund

Ich habe ein sbt-verwaltetes Scala-Projekt, das das verwendetübliches sbt projekt layout für Scala-Projekte mit Makros, d. h. einem Unterprojekt, das die Makros enthält, ein Hauptprojekt, das die eigentliche Anwendung darstellt und vom Makro-Unterprojekt abhängt. Die Makros sindMakroanmerkungen die im Wesentlichen Begleitobjekte für reguläre Klassen generieren. Die generierten Companion-Objekte deklarieren unter anderem Apply / Unapply-Methoden.

Ich habe das sbt-idea-Plugin verwendet, um ein entsprechendes IntelliJ IDEA-Projekt zu generieren, und ich verwende die sbt-Konsole des sbt-plugins von IDEA, um meine Scala-Anwendung zu kompilieren und auszuführen.

Alles funktioniert mehr oder weniger gut, mit der Ausnahme, dass die generierten Begleitobjekte und vor allem deren Mitglieder wie apply / unapply von IDEA nicht erkannt werden. Somit erhalte ich überall dort, wo ich es tue, eine verzerrte Linie, z. B. eine Methode zum Anwenden.

Mein Setup ist IntelliJ IDEA CE 133.471 mit den Plugins SBT 1.5.1 und Scala 0.28.363 unter Windows 7 x64.

Fragen

Wie kann IntelliJ IDEA Code (Klassen, Objekte, Methoden, ...) erkennen, der von Scala-Makros (genauer gesagt Makroanmerkungen) generiert wurde?

Ist bekannt, dass andere IDEs, z. B. Eclipse, in einer solchen Umgebung besser funktionieren?

verbunden

Diese Frage (was weniger detailliert ist) fragt im Wesentlichen dasselbe, hat aber noch keine Antwort erhalten (2014-02-26).

Laut einem JetBrains-Entwickler Die von mir angeforderte Funktion ist auf der Liste der langfristigen Aufgaben, wird jedoch in Kürze nicht implementiert (05.03.2014).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage