【问题标题】:Intellij extend java syntax highlightingIntellij 扩展 java 语法高亮
【发布时间】:2017-09-14 12:04:32
【问题描述】:

我正在做一个项目,我需要在 java 文件中突出显示一种特殊的语法并提取这些部分。

public class Hello{
   public static void main(String [] args){
     <<< SOMTHING >>>
   }
}

我查看了来自 IntelliJ 的 tutorial,但我不太理解为该语言定义语法。我想要做的是创建一个 IntelliJ idea 插件 并定义一种与 java 具有相同语法和一些其他特殊符号的新语言。我想我可以在 IdeaJ 社区源代码 中使用现有的 Java 语法高亮。

请有人帮助我如何获取 Java 的现有语法突出显示源并将它们添加到我的插件中并进行修改。

谢谢

【问题讨论】:

    标签: java intellij-idea intellij-plugin intellij-16 intellij-17


    【解决方案1】:

    Java 高亮默认是开启的。如果您需要扩展它,您可以编写注释器或检查。

    【讨论】:

    • 很抱歉,但我想我忘了提及,我需要将 java 语法高亮添加到自定义文件类型。 (不是 .java)。
    • 这并没有太大变化。您可以使用扩展名(使用 fileTypeFactory 扩展点)创建文件类型,并使用“fileType.fileViewProviderFactory”扩展点设置此文件类型的 Java 基础语言。
    【解决方案2】:

    因此,您想要添加需要将 java 语法突出显示添加到自定义文件类型(根据注释)。这可以很容易地实现。按照本教程的第 2 节(语言和文件类型)进行操作,然后将以下条目添加到 plugin.xml 的 extensions 部分 文件。

    <extensions defaultExtensionNs="com.intellij">
    
        <!-- This line should be already added if you followed the section 2 of the tutorial -->
        <fileTypeFactory implementation="com.simpleplugin.SimpleFileTypeFactory"/>
    
        <!-- We use java parser definition for our custom langauge -->
        <lang.parserDefinition language="Simple" implementationClass="com.intellij.lang.java.JavaParserDefinition"/>
    
        <!-- We use java syntax highlighting for our custom langauge -->
        <lang.syntaxHighlighterFactory language="Simple" implementationClass="com.intellij.lang.java.JavaSyntaxHighlighterFactory"/>
    
    </extensions>
    

    下面的截图展示了一个.simple文件,它支持Java语法高亮。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      相关资源
      最近更新 更多