在JDT中,可以在一个类,或者是方法,或者是变量上进行跳转。这个功能相当方便、实用;使用也很简单:在欲跳转的对象上按ctrl+鼠标左键即可。
但是如果我们想提供一个自定义的跳转功能怎么办?这个功能可能用到的机会不多,但是如果我们需要,那我们就需要知道怎么用。对吧?
为了演示,这里我假定我想实现一个以下功能的跳转:
在方法或其他地方注释里可以声明一个“@super”标签,然后在这个标签上点链接的时候,会跳到这个类的父类里去。
为了实现跳转,首先我们需要知道扩展哪个扩展点才能实现这个功能:org.eclipse.ui.workbench.texteditor.hyperlinkDetectors
这个扩展点就是用来扩展链接功能的扩展点,当然这后面的话就比较多,总体说来就是在editor的configuration里有一个getHyperlinkDetects()方法,用来得到所有的链接侦听定义。
你可以直接在这个方法中返回你的定义,不过在jdt,它是通过读取上面这个扩展点的所有定义来实现的。这也给我们一个提示:如果我们要实现一个自已的链接,最好也是去读这个扩展点。
下面就是扩展点的声明了。下面是一个例子:
</extension>
<extension
point="org.eclipse.ui.workbench.texteditor.hyperlinkDetectors">
<hyperlinkDetector
activate="true"
class="#className"
id="#id"
name="Link Control"
targetId="org.eclipse.jdt.ui.javaCode">
</hyperlinkDetector>
</extension>
这里要注意的就是这个targetId,表示这个链接侦听是对谁来说的。否则真要把所有的扩展都加到java上去了。所以如果想扩展java,这个targetId就应该像上面这样写。
最后剩下的就是实现那个类了。
这个类需要继承:AbstractHyperlinkDetector,然后实现他的一个方法:
detectHyperlinks(ITextViewer textViewer,
IRegion region, boolean canShowMultipleHyperlinks)
在这个方法里返回一个IHyperLink[]对象,或者是返回空。你需要做的其实就是判断你当前选中的内容范围,然后判断是否要起用一个链接。例如上面说的“@super”,当前的内容是“super”,你可以往前追加一个,判断是否是"@",然后再往最前和最后追加一个,判断是否是空格。如果是,那你就应该返回一个IHyperLink[]对象。
如果返回空,那按ctrl+鼠标左键时没有反应,否则会出现一个手形和一条链接线,就像其他的链接一样。
最后就是实现你的IHyperLink对象了,显然,这个需要实现IHyperLink接口。
最后试试效果,如果你做的没错的话,那就OK了。
当然你要有什么疑问,欢迎咨询!
分享到:
相关推荐
ADT是Eclipse的一个扩展,为Android开发者提供了一整套工具,包括项目创建、编辑器、调试器和构建工具等,使得在Eclipse中开发安卓应用变得方便快捷。"安装包自行下载,即时安装,立刻使用"意味着用户可以快速地下载...
eclipse,window32位。Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。简单的理解是eclipse是java编辑器。
在RCP环境中,我们可以构建自己的JAVA编辑器,这正是“精简版rcp JAVA 编辑器”所关注的核心。 RCP的基础是SWT(Standard Widget Toolkit),这是一个由Eclipse项目开发的GUI库,它提供了与操作系统原生界面元素...
在实现编辑器功能时,我们可能会用到SWT(Standard Widget Toolkit)和JFace。SWT是Eclipse提供的原生UI库,提供了丰富的控件,如文本框、按钮等。JFace则提供了一层抽象,简化了SWT的使用,使代码更易于理解和维护...
- **用户界面的扩展**:图1展示了如何通过扩展`Java编辑器`的`Outline`视图上下文菜单来实现这一点。这样的扩展看起来像是Eclipse JDT原生的一部分,因此用户界面更加统一且易于使用。 - **菜单标识**:为了避免...
Eclipse是一款广泛使用的Java开发集成环境,而"eclipse 属性文件编辑器"则是Eclipse中的一个重要组件,专门用于编辑属性文件。属性文件在Java编程中扮演着关键角色,它们通常用于存储配置信息,如应用的国际化设置、...
1. **代码编辑**: Eclipse的代码编辑器支持语法高亮、自动完成、错误检查等功能,帮助开发者快速编写代码。它还可以识别并标记代码中的潜在问题,如未使用的变量、空指针异常等。 2. **项目管理**: Eclipse允许你...
【描述】提到的"Eclipse示例程序javaeditor"是Eclipse IDE中用于教学和学习Java编辑器开发的一个例子。它展示了如何构建一个能够解析、高亮和提供代码辅助的编辑器。在此基础上改写为bat编辑器,意味着开发者借鉴了`...
"Java编辑器"则可能指的是用于编写和调试Java代码的工具,如Eclipse、IntelliJ IDEA等,或者是指在JSP中嵌入的JavaScript代码编辑部分。 在实际应用中,使用这样的jsp文本编辑器有以下几点需要注意: 1. **集成**...
通过Eclipse Marketplace,用户可以找到并安装无数第三方插件,扩展Eclipse的功能以适应不同项目需求。 总结,"eclipse-java-2023-09-R-linux-gtk-aarch64.tar.gz"是专为Linux ARM平台设计的Eclipse Java版本,具备...
Java 开发工具 (JDT) 是Eclipse SDK中用于Java开发的核心组件,它提供了强大的Java编辑、编译和调试功能。主要特性包括: - **Java 编辑器**:提供语法高亮、自动完成、代码折叠等功能。 - **构建器**:负责项目的...
总之,Eclipse资源文件编辑器插件是提升开发效率的重要工具,它让开发者在处理非代码资源时也能享受到Eclipse的强大功能和便捷性。选择合适的插件,可以根据项目需求和开发者个人习惯,使工作变得更加轻松高效。
在众多的Java编辑器中,有一些因其强大的功能和易用性而受到开发者们的喜爱。"java编辑器 很好用"这个标题所指的是这样一种编辑器,它能够提供高效的代码编写、调试和管理功能,使得Java开发者可以更便捷地进行编程...
### Eclipse 插件开发——编辑器详解 在深入探讨Eclipse插件开发中编辑器的具体实现之前,我们首先需要明确几个关键概念。Eclipse作为一款强大的集成开发环境(IDE),其内部架构高度模块化,支持丰富的插件扩展机制...
3. 编辑器会打开新创建的Java源文件,输入你的代码,例如: ```java public class HelloWorld { public static void main(String[] args) { System.out.println("你好,世界!"); } } ``` 编译和运行: 1. 保存...
在编程世界中,Eclipse编辑器以其强大的功能和灵活性,成为Java开发者的重要工具。然而,你是否想过这个以Java为原生语言的编辑器可以用Visual Basic(VB)来实现呢?本文将深入探讨一个独特的项目——“VB实现的...
3. **插件系统**:Eclipse的一大特色是其插件系统,通过安装不同的插件,可以扩展Eclipse的功能,使其适应不同类型的开发需求。比如,Eclipse CDT用于C/C++开发,PyDev用于Python开发,Mylyn用于任务管理等。 4. **...
解压后的"eclipse"文件夹包含了Eclipse IDE的所有组件,如工作台(Workbench)、编辑器、调试器、构建工具以及项目管理器等。在其中,你可以找到以下关键组件: 1. `eclipse.exe`:这是Eclipse的启动程序,双击即可...
2. **JDT**:Java Development Tools是Eclipse的核心组件,提供了源代码编辑器、编译器、调试器和项目管理工具。它支持语法高亮、自动代码完成、重构等功能。 3. **项目管理**:在Eclipse中,项目是组织代码和资源...