Intellij idea IntelliJ:自定义语言:组合其他语言中的片段
我正在为IntelliJ创建一个自定义语言插件 我希望新语言的文件能够包含其他语言的文本片段 我想支持的特定语言是HTML、JS、CSS和SQL 我还希望支持其他自定义语言(即我将为其定义语法的语言) 我想要的主要功能是语法着色,但是如果我能得到像“go to declaration”和重构这样的东西,那就更好了 我的最后一个要求是,可以使用我自己的代码告诉IntelliJ片段包含哪种语言;包含不同语言的片段在lexer/parser级别将无法区分 简而言之,我想实现一些类似于PhpStorm在检测(比如)字符串中的SQL时所做的事情: 我查看了IntelliJ的源代码,发现了ILazyParseableElementType接口,这似乎是相关的,但我不确定这是否是正确的方法(如果是的话,如何在我的代码中准确地使用它…)Intellij idea IntelliJ:自定义语言:组合其他语言中的片段,intellij-idea,intellij-plugin,Intellij Idea,Intellij Plugin,我正在为IntelliJ创建一个自定义语言插件 我希望新语言的文件能够包含其他语言的文本片段 我想支持的特定语言是HTML、JS、CSS和SQL 我还希望支持其他自定义语言(即我将为其定义语法的语言) 我想要的主要功能是语法着色,但是如果我能得到像“go to declaration”和重构这样的东西,那就更好了 我的最后一个要求是,可以使用我自己的代码告诉IntelliJ片段包含哪种语言;包含不同语言的片段在lexer/parser级别将无法区分 简而言之,我想实现一些类似于PhpStorm在
非常感谢您提供任何提示……您正在寻找的Intellij功能/术语是 是一个github PR,它为JFLex文件实现了一个非常类似的功能 简而言之,您需要实现一个
LanguageInjector
,并将其作为
添加到plugin.xml