1

我正在尝试按照本教程为 Clion 构建我自己的自定义线标记 - https://plugins.jetbrains.com/docs/intellij/line-marker-provider.html。我的问题是关于plugin.xml文件中扩展标签上的语言属性...

<extensions defaultExtensionNs="com.intellij">
  <codeInsight.lineMarkerProvider language="JAVA"
          implementationClass="org.intellij.sdk.language.SimpleLineMarkerProvider"/>
</extensions>

当我添加此扩展程序时,language="JAVA"会以红色突出显示。我需要添加什么插件/依赖项才能解决这个问题?

PsiIdentifier我的 IDE也无法PsiMethod从提供的代码段中解析...

public class MyCorrectLineMarkerProvider implements LineMarkerProvider {
  public LineMarkerInfo getLineMarkerInfo(@NotNull PsiElement element) {
    if (element instanceof PsiIdentifier && element.getParent() instanceof PsiMethod) return new LineMarkerInfo(element, ...);
    return null;
  }
}

这就是我的 build.gradle 的样子,我知道我需要添加一些其他依赖项,但我一直在关注的教程对此并不是很清楚。

plugins {
    id 'org.jetbrains.intellij' version '1.2.0'
    id 'java'
}

group 'com.example'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
}

// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
    version = '2021.2.2'
}

runIde {
    jvmArgs '--add-exports', 'java.base/jdk.internal.vm=ALL-UNNAMED'
}

patchPluginXml {
    changeNotes = """
      Add change notes here.<br>
      <em>most HTML tags may be used</em>"""
}
test {
    useJUnitPlatform()
}
4

1 回答 1

0

java您必须在 中添加对插件的依赖项build.gradle,就像这样

intellij {
    plugins = ['java']
}

有关插件依赖项的更多信息,请参阅IntelliJ 开发指南。

您正在遵循的教程旨在添加对新语言的支持,而不是向 Java(现有语言:p)添加行标记。插件依赖项完全超出了该教程的范围。

于 2021-10-29T05:29:41.403 回答