Intellij 插件 - 如何创建在特定文本悬停时触发的操作

Saa*_*arS 6 java xml intellij-idea intellij-plugin

我想为我的公司创建一个插件,以便在悬停时触发操作,并且仅在特定情况下(特定且部分恒定的字符串)。

例子:

假设我有一个带有一些属性的 XML/HTML 文件:

<attribute someAction="something" fieldName="unknown"/>
<attribute width="10" fieldName="whoKnows"/>
<attribute fieldName="incognito" **resourceCode="007"**/>
Run Code Online (Sandbox Code Playgroud)

我希望当悬停在该resourceCode="007"部分上方时,我的操作将被触发。在所有其他情况下,我不想做任何事情。是resourceCode=常量,值本身是我需要在操作中使用的变量。

我查看了这里和其他地方的问答,并尝试了官方文档,但没有成功。

Esk*_*ini 3

您可以实现自定义DocumentationProvider 扩展

自定义语言可以使用 com.intellij.lang.documentationProvider 扩展点 (EP) 在 IDE 内显示函数、方法、类或其他构造的文档。访问文档是通过调用 View | 来完成的。快速文档或将鼠标悬停在符号上,这将打开一个弹出窗口以显示类型信息、参数、用法描述或示例。文档内容的来源可能有所不同。通常它是从源代码中的注释(例如 JavaDoc 注释)中提取的,但也可以访问网页等外部资源

PropertiesDocumentationProvider.javaThemeJsonDocumentationProvider.java中的示例实现,您可以根据自己的需要对其进行自定义

嵌入提示代码检查和意图也可能有用。

  • https://plugins.jetbrains.com/intellij-platform-explorer/extensions (2认同)