eclipse实现javadoc悬浮
来源:互联网 发布:网络教育和函授区别 编辑:程序博客网 时间:2024/05/16 17:56
转载请注明出处:
网上搜了一下,几乎没有实现的代码
自己摸索了两三天,知道实现org.eclipse.jdt.ui.javaEditorTextHovers接口
但是这个接口只有三个方法,只能满足普通的悬浮(悬浮框中加链接他就不能做)。
因此我的办法是看看eclipse自身是如何实现的,然后拿到源码自己改写
代码:
网上搜到开源代码
AnnotationHover.java
JavaEditorTextHover.java
BrowserInformationControlInput.java
JavadocHover.java // 扩展点的实现类 主要在这个代码中修改
JavaHoverMessages.java
JavaHoverMessages.properties
plugin.xml
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.jdt,
org.eclipse.jface.text,
org.eclipse.ui.editors,
org.eclipse.jdt.core,
org.eclipse.jdt.ui
切记 扩展点属性 : activate="true"
很简单是吧
补充一下:下面是 org.eclipse.jdt.ui中plugin.xml的原话 其中Do not change the sequence of those hover contributions 一定要看一下,他告诉我们 鼠标移上去执行的先后顺序
<!-- Note: Do not change the sequence of those hover contributions -->
<extension
point="org.eclipse.jdt.ui.javaEditorTextHovers">
<hover
label="%sequentialHover"
description="%sequentialHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover"
id="org.eclipse.jdt.ui.BestMatchHover">
</hover>
<hover
label="%problemHover"
description="%problemHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover"
id="org.eclipse.jdt.ui.ProblemHover">
</hover>
<hover
label="%nlsStringHover"
description="%nlsStringHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.NLSStringHover"
id="org.eclipse.jdt.ui.NLSStringHover">
</hover>
<hover
label="%javadocHover"
description="%javadocHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover"
id="org.eclipse.jdt.ui.JavadocHover">
</hover>
<hover
label="%sourceHover"
description="%sourceHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.JavaSourceHover"
id="org.eclipse.jdt.ui.JavaSourceHover">
</hover>
<hover
label="%annotationHover"
description="%annotationHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.AnnotationHover"
id="org.eclipse.jdt.ui.AnnotationHover">
</hover>
</extension>
因此 在我们自己的插件开发中 也直接把如上的配置(6个hover)复制下来 (顺序不能变),然后针对某一个或者几个修改,总之就是顺序很重要
正确做法:
<extension
point="org.eclipse.jdt.ui.javaEditorTextHovers">
<hover
label="%sequentialHover"
description="%sequentialHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover"
id="org.eclipse.jdt.ui.BestMatchHover">
</hover>
<hover
label="%problemHover"
description="%problemHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.ProblemHover"
id="org.eclipse.jdt.ui.ProblemHover">
</hover>
<hover
label="%nlsStringHover"
description="%nlsStringHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.NLSStringHover"
id="org.eclipse.jdt.ui.NLSStringHover">
</hover>
<hover
label="%javadocHover"
description="%javadocHoverDescription"
class="com.my.test.JavadocHover"
id="com.my.test.JavadocHover"
activate="true">
</hover>
<hover
label="%sourceHover"
description="%sourceHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.JavaSourceHover"
id="org.eclipse.jdt.ui.JavaSourceHover">
</hover>
<hover
label="%annotationHover"
description="%annotationHoverDescription"
class="org.eclipse.jdt.internal.ui.text.java.hover.AnnotationHover"
id="org.eclipse.jdt.ui.AnnotationHover">
</hover>
</extension>
错误做法
举例:如果我只复制了javadocHover 那么当这个关键字需要报错(例如没有导包),他就没法提示需要导包的错误
我一开始偷懒
只写成
<extension
point="org.eclipse.jdt.ui.javaEditorTextHovers">
<hover
label="%javadocHover"
description="%javadocHoverDescription"
class="com.my.test.JavadocHover"
id="com.my.test.JavadocHover"
activate="true">
</hover>
</extension>
结果悬浮实现了 但是需要报错(没导包)这个功能等却没了
- eclipse实现javadoc悬浮
- 为eclipse添加javadoc实现直接查看api
- 使用eclipse生成javadoc
- 配制 eclipse 中的 javadoc
- eclipse生成javadoc
- eclipse-javadoc批注使用
- eclipse 生成javadoc乱码
- Eclipse javadoc plugin: jautodoc
- eclipse generate javadoc IllegalArgumentException
- 使用 Eclipse 生成 javadoc
- Eclipse自动生成javadoc
- eclipse怎样生成javadoc
- 使用Eclipse生成javadoc
- eclipse生成javadoc文档
- 利用eclipse生成javadoc
- eclipse设置本地javadoc
- Eclipse导出javadoc文档
- Eclipse生成javadoc
- 两台计算机实现通讯的基本原理0分
- 被apple改了产品分类,我的软件一下子就没了销量。
- 史上最全html及html5的学习资料文档收集整理包括介绍和下载
- U-boot给kernel传参数和kernel读取参数—struct tag (以及补充)
- 在项目中使用lhgdialog 在低版本浏览器上遇到的问题。
- eclipse实现javadoc悬浮
- 修改sqlserver默认的路径
- Linux C++读取卷标
- 工作三周了,说说感受
- 苹果随时变成传统PC商的夺命炸弹
- MAC中窗口的实现
- AVL树单旋转和双旋转算法(c)
- inline总结
- java中类的生命周期