如何为 Scala 宏编写 Intellij IDEA 插件

时间:2021-01-27 13:02:53

标签: scala intellij-idea sbt

我写了一个编译后可以工作的宏,但问题是 Intellij IDEA 没有看到我生成的代码并且出现了一些红线。所以我找到了解释 here,我需要编写 IDEA 插件,让 IDEA 识别我生成的代码。问题是我无法使用 SyntheticMembersInjector 因为缺少依赖项。是否可以为我自己的 scala 宏编写 IDEA 插件?

我的 plugins.sbt:

addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.7.6")
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.10.0-RC1")
addSbtPlugin("com.lightbend.akka.grpc" % "sbt-akka-grpc" % "1.0.2")
addSbtPlugin("org.jetbrains" % "sbt-idea-plugin" % "3.8.4")

我的 build.sbt:

import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport.dockerExposedPorts
import sbt.Keys.{scalacOptions, version}

lazy val coreProject = (project in file("."))
  .enablePlugins(JavaAppPackaging, DockerPlugin, AkkaGrpcPlugin)
  .settings(
    scalaVersion := "2.12.12",
    name := "CDMS",
    version := "0.1",
    libraryDependencies ++= BuildConfig.projectDependencies,
    dockerBaseImage := "adoptopenjdk/openjdk15:alpine",
    dockerExposedPorts += 9002
  )
  .dependsOn(validationProject)

lazy val validationProject = (project in file("validation"))
  .enablePlugins(SbtPlugin)
  .settings(
    scalaVersion := "2.12.12",
    sbtPlugin := true,
    libraryDependencies ++= BuildConfig.monocleDependencies
  )

0 个答案:

没有答案
相关问题