自定义JetBrains插件依赖缺失,plugin.xml的language属性标红如何解决
问题根源
两个报错均是因为当前Gradle配置未引入对应语言的支持插件,平台核心依赖不包含特定语言的PSI定义和语言标识解析能力。
方案1:需为CLion中的C/C++代码添加行标记(CLion默认场景)
这是绝大多数CLion插件开发的需求,你之前参考的Java教程示例不适用C/C++场景,需做如下修改:
- 修改
build.gradle的intellij配置块,添加C/C++语言插件依赖:
intellij { version = '2021.2.2' type = 'CL' // 指定目标平台为CLion plugins = ['com.intellij.cidr.lang'] // 引入CLion C/C++语言支持插件 }
- 修改
plugin.xml中的扩展配置,将语言标识改为C/C++:
<extensions defaultExtensionNs="com.intellij"> <codeInsight.lineMarkerProvider language="CPP" implementationClass="org.intellij.sdk.language.SimpleLineMarkerProvider"/> </extensions>
- 替换代码中Java专属的PSI类为C/C++对应类:
将PsiIdentifier替换为ClangIdentifier,PsiMethod替换为ClangFunction即可,类导入会在Gradle同步完成后自动识别。
方案2:确实需要为CLion中的Java代码添加行标记
需额外在CLion中安装Java插件,同步修改配置如下:
- 修改
build.gradle的intellij配置块,引入Java语言支持插件:
intellij { version = '2021.2.2' type = 'CL' plugins = ['com.intellij.java'] // 引入Java语言支持插件 }
- 原有
plugin.xml配置和代码中的Java PSI类无需修改,刷新Gradle依赖同步完成后报错就会消失。
修改完成后点击Gradle面板的刷新按钮同步依赖,所有标红问题都会解决。
内容的提问来源于stack exchange,提问作者Tyler Weiss
相关产品推荐
相关产品推荐

