-
2021-04-08 11:01:13
Eclipse提供了一个可扩展插件的开发系统。这就使得Eclipse在运行系统之上可以实现各种功能。这些插件也不同于其他的应用(插件的功能是最难用代码实现的)。拥有合适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序。Eclipse的插件也能帮助他们开发不同应用架构上的程序。
下面列出来的是25个最好的免费Eclipse插件,可以让开发者更高效的工作 。
提高代码质量的插件
1. FindBugs
FindBugs可以帮你找到Java代码中的bug,它使用Lesser GNU Public License的自由软件许可。
2. Checkstyle
Checkstyle插件可以集成到Eclipse IDE中去,能确保Java代码遵循标准代码样式。
3. ECLemma
ECLemma是一款拥有Eclipse Public License许可的免费工具,它提供了方便快捷的开发和测试环境。你可以使用代码覆盖模式下的“launch”功能,用起来就像是真正的运行/调试模式。你可以通过使用代码覆盖试图,高亮源文件,计数来分析代码。
4. JDepend4Eclipse
JDepend4Eclipse可以帮助你遍历文件夹,协助你量化设计的质量。它使用Eclipse Public License v1.0许可。
5. PMD
PMD是一款代码分析器,用来检测变量和写得不好的代码。
6. SourceHelper
SourceHelper可以协助编码和调试,对写好的代码提供说明。
7. Structure101
Structure101帮助修改代码的架构,就是说你可以改变架构,而不打乱代码。
文本编辑插件
8. AnyEdit Tools
AnyEdit为输出控制台和工具栏增加了新的编辑器,帮助导入和导出数据。它使用Eclipse Public License v1.0许可。
9. Eclim
Eclim给Eclipse引入了Vim的功能,Vim是最好的编辑器之一。开发者可以采用不同的语言来编写代码,它也提供bug纠错功能。Eclim使用GPLV3许可。
10. Eclipse-rbe
Eclipse-rbe用来编辑Java文件,它的功能有为缺失变量发出警告信息,排序键值,转变Unicode编码等。它使用GNU库或LGPL许可。
依赖性管理插件
11. Apache IvyDE
Apache IvyDE集成了Apache Ivy的依赖管理功能。它能管理'ivy.xml'中的依赖,也能够配合WPT和Ant插件的使用。
12. M2eclipse (Maven插件)
M2eclipse能够管理简单的项目,也能管理多模块项目,它能在Eclipse中启动maven。它提供依赖管理,能提供自动下载。
版本控制插件
13. Subclipse
Subclipse是一个SVN插件,它为Eclipse IDE提供subversion支持,使用EPL 1.0许可。
14. EGit
EGit提供同步视图,可以读.git/ 下排除的文件,提供rebase功能,为pull和push提供精简的操作。
15. MercurialEclipse
MercurialEclipse是个流行的版本控制系统。它提供了clone repository功能,push-pull同步功能,以及简单的回滚功能。
16. P4Eclipse
P4Eclipse吸纳了Perforce管理系统的特长。它提供了以开发者为导向的一系列的功能,并且支持许多Agile开流程发以及传统开发流程。
框架开发插件
17. Spring Tool Suite
Spring Tool Suite提供了XML文件预览以及图形化的spring配置编辑器等开发环境和工具,它能让开发变得更简单。
18. Spring IDE
Spring IDE帮助你开发Spring应用,它提供了图形编辑界面。它还能用图形的方式显示bean之间的关系
19. Hibernator
Hibernator能够创建或更新数据库schema,运行hibernate查询语句,创建映射文档。用户可以将一个Java类和一个相关的映射文件同步起来。
20. JbossTools
JbossTools 3.2x支持JBoss,Hibernate,Drools,XHTML,Seam等
其他功能插件
21. ASM – 二进制预览插件
ASM Bytecode Outline插件可以显示当前的Java文件或class文件的分解的二进制代码,便于Java/class文件的二进制比较,也可以显示当前二进制代码的ASMifier代码。你可以用Eclipse更新管理器来安装ASM。
22. Mylyn – 任务管理
Mylyn采用任务为中心的界面,它为开发者提供了任务管理工具。另外,也集成了富文本编辑工具,以及监测工具。
23. Eclipse Launcher
Eclipse launcher采用Delphi 6写成,使用它你可以自定义启动Eclipse IDE时的配置。
24. FileSync
FileSync拥有Eclipse Pulic License v1.0许可,它是一个文件同步工具,可以创建,删除,映射文件。
25. Log4E
Log4E可以帮你更容易的写日志,而不需要受特定日志框架的约束。当然你也可以自定义你自己的日志模版。
总而言之,插件能让Eclipse用其他语言来编写。Eclipse插件是必不可少的,因为它们让Java应用无缝连接,降低了Java的复杂度。然而,装了过多的插件会让你的Eclipse变慢,所以你需要有选择性的安装插件。
更多相关内容 -
gradle eclipse插件
2015-07-25 10:51:15gradle eclipse插件,解压文件后采用离线安装方式即可,其提取方法请访问https://github.com/spring-projects/eclipse-integration-gradle/issues/95 -
parasoft jtest 9.4 安装文件以及破解 eclipse插件
2015-03-05 16:55:29parasoft jtest 9.4 安装文件以及破解 eclipse插件 -
eclipse插件原理简介
2020-03-19 20:06:02eclipse概述 作为java开发人员都知道eclipse是一个开源的开发平台,而且本身也是用java语言开发的。其实但就其本身而言不是一个整块的程序,它只是一个框架和一组服务,包含了一个插件载入器、由成百上千的插件组成...eclipse概述
作为java开发人员都知道eclipse是一个开源的开发平台,而且本身也是用java语言开发的。其实但就其本身而言不是一个整块的程序,它只是一个框架和一组服务,包含了一个插件载入器、由成百上千的插件组成的小内核。该内核是OSGI规范的一个实现,为各种此插件执行提供环境。每个插件以结构化的方式在整体中发挥作用,可能依赖于由其他插件提供的服务,也可能提供其他插件需要的服务。这种模块化的设计让eclipse自身分解为不同的功能块。这些功能块能更容易地被重用于创建超出原始开发人员视野之外的应用程序。就如不同版本的eclipse分别为特定的功能而设定。eclipse附带了标准的插件集,包括java开发工具JDK,还包括插件开发环境PDE。而PDE组件主要为扩展eclipse插件开发使用。
OSGI
OSGi(开放服务网关协议,Open Service Gateway Initiative)技术是Java动态化模块化系统的一系列规范,由OSGi Alliance组织制定的一个基于Java语言的规范。该规范和核心部分是一个框架,其中定义了应用程序的生命周期模式和服务注册。实现了一个优雅、完整和动态的组件模型。应用程序(称为bundle)无需重新引导可以被远程安装、启动、升级和卸载。
OSGI框架一般具备的基础功能:
模块化的动态部署。基于OSGI而构建的系统可以以模块化的方式动态地部署至框架中,从而增加、扩展或改变系统的功能。支持模块化的封装和交互。每个工程(模块)可通过声明Export-Package对外提供访问此工程的类和接口。
模块的动态扩展。基于OSGI提供的面相服务的组件模型的设计方法,以及OSGI实现框架提供的扩展点方法可实现模块的动态扩展。模块化的设计。在OSGI中模块由一个或多个bundle构成,模块之间的交互通过Import-Package、Export-Package以及OSGI Service的方式实现。
动态化的设计。动态化的设计是指系统中所有的模块必须支持动态的插拔和修改,“即插即用,即删即无”。
可扩展的设计。通常使用定义扩展点的方式。按照Eclipse推荐的扩展点插件的标准格式定义bundle中的扩展点,其它要扩展的bundle可通过实现相应的扩展点来扩展该bundle的功能。每个bundle拥有独立的class loader,通过它来完成本bundle类的加载。
稳定、高效的系统。基于OSGI的系统采用的是微核机制,微核机制保证了系统的稳定性,微核机制的系统只要微核是稳定运行的,那么系统就不会崩溃,也就是说基于OSGI的系统不会受到运行在其中的bundle的影响,不会因为bundle的崩溃而导致整个系统的崩溃。说白了就是所有的东西都是模块化,他们相互独立又可以按照规则选择性依赖,随时用随时启动,用完就停,一个坏了不影响其他的。(有木有觉得有种熟悉感觉,就像现在流行的微服务,eclipse很早都在使用这种设计模式,是不是很牛)
插件生命周期
六个生命周期:INSTALLED, RESOLVED, STARTING, ACTIVE, STOPPING, UNINSTALLED。
installed和unstalled字面都能理解安装和卸载,resolved表示该bundle已经安装成功,依赖也已经计算完毕,具备能称之为一个bundle的全部条件。这个状态下的bundle的类是可以使用也可以被其他bundle使用,就是已经就绪的状态。Bundle开始使用被激活后,Activator的start方法会被触发,然后该bundle的本地的资源就可以被加载了,然后进入starting、active状态,当停止使用进入stopping状态。这些状态中只用active的状态代表了插件时正常启动使用的,其他都代表插件未成功启动。
Eclipse的执行文件eclipse.exe创建快捷方式,然后在快捷方式目标处加上-console,即可看见osgi console后台,或者在eclipse中打开console视图,在视图Open Console列表中找到Host OSGi console打开。这里可以在osgi>标记后输入合适的osgi命令,比如ss,可以显示所有插件及状态。ss m2e可以搜索m2e的插件。
其他常用命令
命令 用途 ss 展示已安装的bundle install 通过指定url文件安装对应的为bundle uninstall 卸载指定Id标识的bundle start 启动指定Id标识的bundle stop 停止指定Id标识的bundle update 同步bundle和bundle的加载文件 插件结构
每个插件的行为都位于代码中,然而插件的依赖项和服务都在MANIFEST.MF和plugin.xml文件中声明。这种结构从当需要时的角度简化了插件代码的延迟载入。因此也减少了启动时间和内存占用。
在启动时插件载入器为每个插件扫描MANIFEST.MF和plugin.xml文件,然后创建一个包含该信息的结构。该结构占用少量的内存空间,载入器可以通过他快速的找到所需要的插件。
src:插件的业务代码
icons:插件使用都的图标
META-INF/MANIFEST.MF:描述插件运行特性的文件,定义了插件的各种标识符、版本、依赖项、启动器、提供者等信息
plugin.xml:描述插件扩展点的配置文件
build.properties:定义插件打包信息的配置文件
plugin.properties:插件的配置文件,是可选的,可以将plugin.xml中的参数统一配在该文件中,可以用来做I18N国际化配置。PDE为三种配置文件提供了特定的编辑器,可以source编码的方式,也可以可视化窗口的方式配置。Overview配置插件的基本信息包括名称,id,版本,jdk等;Dependencies配置所需要的其他插件比如常用的org.eclipse.ui、org.eclipse.core.runtime、org.eclipse.core.resource或者其他插件对外提供的服务包;Runtime中配置对外提供的服务包和运行时classpath(插件的classpath在这里配置不要再项目右键build path中配置)、Extensions和Extension Points配置插件的扩展和扩展点,比如需要做个向导功能,需要添加org.eclipse.ui.newWizards的扩展,需要做个试图的功能窗口需要添加org.eclipse.ui.views的扩展。
插件启动器
如上图MANIFEST.MF中配置的Bundle-Activator就是插件的启动器类,该类需要实现BundleActivator接口,重写start和stop方法。当插件通过start方法被载入或者通过strop方法关闭时,插件载入器将通知启动器。如果覆盖start和stop方法时请谨慎,尽量取少量的操作,页面影响eclipse启动和关闭速度。如果基于UI的插件(需要org.eclipse.ui的插件)的启动器继承BundleActivator的一个实现类AbstractUIPlugin。该类提供了访问窗口所需图片的方法getImageRegistry().get(key)。public class Activator implements BundleActivator { private static BundleContext context; static BundleContext getContext() { return context; } public void start(BundleContext bundleContext) throws Exception { Activator.context = bundleContext; } public void stop(BundleContext bundleContext) throws Exception { Activator.context = null; } }
由于eclipse时懒加载模式,因此在启动时他可能不会调用start()方法,如果需要在eclipse启动时就载入一些信息,可以通过在插件清单中插入org.eclipse.ui.startup扩展点,实现一个org.eclipse.ui.IStartup的监听器,重写earlyStartup()方法。这样工作台就可以在UI完成启动后调用earlyStartp()方法。
<extension point="org.eclipse.ui.startup"> <startup class="com.test.myplugin.StartupListener"/> </extension>
创建简单的插件工程
通过eclipse的创建工程向导 new->other->plug-in development->plug-in project进入创建流程,填写插件名,一般类似maven的groupId的格式
填写插件基本信息,和启动器
PDE提供了hello world和一些模板供使用,如果对插件的扩展点有初步了解的可以选择第一个custom plugin wizard定制向导
定制向导中勾选需要用到的扩展,比如试图的扩展,向导的扩展,后面的可以直接默认,点击finish一个简单的插件功能就生成好。
插件打包
插件打包的方式有两种,直接打成jar,或者打成zip的安装包。一般作为开发人员更喜欢jar的文件,而且打jar的方式比较简单点,这里介绍这种方式。右击插件工程 export->Deployable plug-ins and fragments
填写导出的位置,options中可以配置版本号后的时间戳,点击finish。打好的jar包直接拷贝到eclipse的plugins目录中,重启即可。
-
根据数据库生成javabean的eclipse插件
2014-05-01 11:02:201、 支持oracle 和 mysql 两种数据库。 2、 支持oracle指定表空间生成。 3、 支持批量生成javabean。 4、 支持重写“toString”方法(返回json格式字符串)。 5、 支持国际化。 6、 支持返回字段属性数组。... -
Eclipse插件开发 原书第3版中文版.pdf
2011-12-15 13:28:09Eclipse插件开发 原书第3版中文版.pdf 想学eclipse插件开发的童鞋,相信这本书对你一定非常有用,不信可以去搜索一下这本书的评价就知道了。 亲,记得给个评价哦! -
eclipse插件开发_开发Eclipse插件
2020-07-03 02:33:58基于插件的架构 Eclipse平台是IBM®捐赠给开源社区的开发框架,值得注意的不是因为据说IBM花了4000万美元来开发它,而是因为它们必须展示出什么支出:成熟,设计良好且可... 该工具与Eclipse无缝集成的关键是插件 ...基于插件的架构
Eclipse平台是IBM®捐赠给开源社区的开发框架,值得注意的不是因为据说IBM花了4000万美元来开发它,而是因为它们必须展示出什么支出:成熟,设计良好且可扩展的体系结构。 Eclipse的价值在于它提供了一个开放源代码平台,用于创建可扩展的集成开发环境(IDE)。 该平台允许任何人构建可与环境和其他工具无缝集成的工具。
该工具与Eclipse无缝集成的关键是插件 。 除了小型运行时内核之外,Eclipse中的所有内容都是插件。 这意味着您开发的插件与Eclipse的集成方式与其他插件完全相同。 在这方面,所有功能都是相同的。
但是,某些插件比其他插件更平等。 Workbench和Workspace是Eclipse平台上两个必不可少的插件,它们提供了大多数插件所使用的扩展点,如图1所示。一个插件需要一个扩展点才能插入。功能。
图1. Eclipse Workbench和Workspace:基本的插件支持
Workbench组件包含扩展点,例如,这些扩展点允许您的插件使用菜单选择和工具栏按钮扩展Eclipse用户界面,请求通知不同类型的事件并创建新视图。 工作区组件包含扩展点,使您可以与资源(包括项目和文件)进行交互。
当然,Workbench和Workspace并不是唯一可以由其他插件扩展的Eclipse组件。 此外,还有一个Debug组件,它将使您的插件启动程序,与正在运行的程序进行交互并处理错误-这是构建调试器所需的一切。 尽管对于某些类型的应用程序是必需的,但大多数应用程序不需要调试组件。
还有一个Team组件,允许Eclipse资源与版本控制系统(VCS)进行交互,但是除非您为VCS构建Eclipse客户端,否则Team组件(如Debug组件)将不会扩展或增强其功能。
最后,还有一个“帮助”组件,可用于为您的应用程序提供在线文档和上下文相关的帮助。 不可否认,帮助文档是专业应用程序中必不可少的部分,但对于插件的功能并不是必需的。
上述每个组件提供的扩展点在Eclipse平台帮助的“平台插件开发人员”指南的参考部分中进行了说明。 乍一看,尤其是在API参考的“工作台”部分,一目了然。 与其深入研究许多可用扩展点的细节,不如通过简单的插件及其组件来研究。
插件简介
创建插件的最简单方法是使用插件开发环境(PDE)。 PDE与Java™开发工具(JDT)IDE一起,是Eclipse的标准扩展。 PDE提供了向导来帮助创建插件,包括我们将在此处检查的“ Hello World”示例。
从Eclipse菜单中,选择File> New> Other (或按Ctrl + N ),然后选择Select对话框左侧的Plug-in Development向导。 在“选择”对话框的右侧,选择“ 插件项目”。 按下一步。 在下一个屏幕上,输入项目名称; 我用
com.example.hello
。 再次按下一步。 在下一个屏幕上,注意插件ID与项目名称相对应。 使用项目名称作为插件ID可以最大程度地减少该插件与另一个插件的名称冲突的可能性。 再次单击下一步 。 下一个屏幕使您可以选择手动创建初始插件代码或运行代码生成向导。 将代码生成向导保留为默认设置,选择Hello World并单击Next ,如图2所示。图2.选择Hello World代码生成向导
下一个屏幕要求其他信息。 请注意此屏幕上的信息:它包括插件名称,版本号,提供程序名称和类名称。 这些是有关我们插件的重要信息,我们将在后面看到。 您可以接受向导提供的默认设置。 单击下一步。 在下一个屏幕上,接受程序包名称,类名称和消息文本的默认值。 保留标记为“将操作集添加到资源透视图”的复选框,然后单击“ 完成”。
如果通知您向导需要启用某些其他插件才能完成,请单击OK 。
稍后,向导将完成,您将在工作区中有一个名为com.example.hello的新项目,如图3所示。
图3. PDE透视图:欢迎使用Hello插件
在工作台的左侧,在“程序包资源管理器”中,概述了向导创建的一些内容。 大多数项目不是很有趣。 项目类路径中包含许多
.jar
文件(这些文件包括插件和Java运行时所需的Eclipse类),包含工具栏按钮图形的icons文件夹以及build.properties
文件。包含自动构建脚本使用的变量。这里最有趣的是src文件夹,其中包含我们插件的源代码和plugin.xml文件(插件的清单文件)。 我们将首先看一下plugin.xml。
插件清单文件
插件清单文件plugin.xml包含描述性信息,Eclipse将使用它们来将插件集成到框架中。 默认情况下,首次创建插件时,清单编辑器区域中将打开plugin.xml。 编辑器底部的选项卡使您可以选择有关插件的不同信息集。 “ 欢迎”选项卡显示消息“欢迎使用Hello插件”,并简要讨论了所使用的模板以及使用Eclipse实现该插件的提示。 选择“ 源”选项卡将使您看到plugin.xml文件的完整源。
让我们看一下插件清单文件的不同部分。 首先是有关该插件的常规信息,包括其名称,版本号,实现该插件的类文件的名称以及JAR文件名。
清单1.插件清单文件—常规信息
<?xmlversion="1.0" encoding="UTF-8"?> <plugin id="com.example.hello" name="Hello Plug-in" version="1.0.0" provider-name="EXAMPLE" class="com.example.hello.HelloPlugin"> <runtime> <library name="hello.jar"/> </runtime>
接下来,列出了我们的插件所需的插件。
清单2.插件清单文件—必需的插件
<requires> <import plugin="org.eclipse.core.resources"/> <import plugin="org.eclipse.ui"/> </requires>
列出的第一个插件org.eclipse.core.resources是工作区插件,但是我们的插件实际上并不需要它。 第二个插件
org.eclipse.ui
是工作台。 我们需要工作台插件,因为我们将扩展其两个扩展点,如后面的扩展标签所示。第一个扩展标签具有点属性
org.eclipse.ui.actionSets
。 操作集是一组插件添加到工作台用户界面中的一组贡献 ,即菜单,菜单项和工具栏。 操作集将贡献分组,以便用户可以更轻松地管理它们。 例如,由于我们在运行代码生成向导时所做的选择,我们的Hello插件的菜单和工具栏项将出现在Resource Perspective中。 用户可以使用“ 窗口”>“自定义透视图”菜单选项来更改此设置,以从要在“资源透视图”中显示的项目中删除“示例操作集”。图4.定制资源透视图
该操作集包含两个标签:一个菜单标签 ,用于描述项目应在工作台菜单中的位置和方式;以及一个操作标签 ,用于描述其应执行的操作-特别是,操作标签标识了执行该操作的类。 请注意,该类不同于上面列出的插件类。
清单3.操作集
<extension point="org.eclipse.ui.actionSets"> <actionSet label="Sample Action Set" visible="true" id="com.example.hello.actionSet"> <menu label="Sample &Menu" id="sampleMenu"> <separator name="sampleGroup"> </separator> </menu> <action label="&Sample Action" icon="icons/sample.gif" class="com.example.hello.actions.SampleAction" tooltip="Hello, Eclipse world" menubarPath="sampleMenu/sampleGroup" toolbarPath="sampleGroup" id="com.example.hello.actions.SampleAction"> </action> </actionSet> </extension>
许多菜单和操作属性的目的非常明显-例如,提供工具提示文本并标识工具栏项目的图形。 还要注意动作标签中的
menubarPath
:此属性标识在菜单标签中定义的哪个菜单项调用在动作标签中定义的操作。 有关此和其他工作台扩展点的更多详细信息,请参阅《 平台插件开发人员指南》,尤其是“插入工作台”一章(该指南可从Eclipse的帮助菜单中获得)。由于我们选择将插件添加到Resource Perspective中,因此生成了第二个扩展标签。 当Eclipse首次启动并加载我们的插件时,此标记使我们的插件被添加到Resource Perspective。
清单4. Extension标签
<extension point="org.eclipse.ui.perspectiveExtensions"> <perspectiveExtension targetID="org.eclipse.ui.resourcePerspective"> <actionSet id="com.example.hello.actionSet"> </actionSet> </perspectiveExtension> </extension> </plugin>
如果省略了最后一个扩展,则用户需要使用Window> Customize Perspective将插件添加到Resource(或其他) Perspective中 。
插件源代码
代码生成向导生成了两个Java源文件,您可以通过在PDE包资源管理器中打开src文件夹来查看。 第一个是
HelloPlugin.java
是插件类,它扩展了AbstractUIPlugin
抽象类。HelloPlugin
负责管理插件的生命周期,在更扩展的应用程序中,将负责维护对话框设置和用户首选项。HelloPlugin
功能不多。清单5. HelloPlugin
packagecom.example.hello.actions; import org.eclipse.ui.plugin.*; import org.eclipse.core.runtime.*; import org.eclipse.core.resources.*; import java.util.*; /** * The main plugin class to be used in the desktop. */ public class HelloPlugin extends AbstractUIPlugin { //The shared instance. private static HelloPlugin plugin; //Resource bundle. private ResourceBundle resourceBundle; /** * The constructor. */ public HelloPlugin(IPluginDescriptor descriptor) { super(descriptor); plugin = this; try { resourceBundle= ResourceBundle.getBundle( "com.example.hello.HelloPluginResources"); } catch (MissingResourceException x) { resourceBundle = null; } } /** * Returns the shared instance. */ public static HelloPlugin getDefault() { return plugin; } /** * Returns the workspace instance. */ public static IWorkspace getWorkspace() { return ResourcesPlugin.getWorkspace(); } /** * Returns the string from the plugin's resource bundle, * or 'key' if not found. */ public static String getResourceString(String key) { ResourceBundle bundle= HelloPlugin.getDefault().getResourceBundle(); try { return bundle.getString(key); } catch (MissingResourceException e) { return key; } } /** * Returns the plugin's resource bundle, */ public ResourceBundle getResourceBundle() { return resourceBundle; } }
第二个源文件
SampleAction.java
包含执行清单文件中的操作集中指定的操作的类。SampleAction
实现了IWorkbenchWindowActionDelegate
接口,该接口允许Eclipse为我们的插件使用代理,以便Eclipse在绝对必要之前不需要加载插件(此优化可以最大程度地减少加载插件时的内存和性能问题)。 。IWorkbenchWindowActionDelegate
接口方法允许我们的插件与代理进行交互。清单6.
IWorkbenchWindowActionDelegate
接口方法package com.example.hello.actions; import org.eclipse.jface.action.IAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.IWorkbenchWindowActionDelegate; import org.eclipse.jface.dialogs.MessageDialog; /** * Our sample action implements workbench action delegate. * The action proxy will be created by the workbench and * shown in the UI. When the user tries to use the action, * this delegate will be created and execution will be * delegated to it. * @see IWorkbenchWindowActionDelegate */ public class SampleAction implements IWorkbenchWindowActionDelegate { private IWorkbenchWindow window; /** * The constructor. */ public SampleAction() { } /** * The action has been activated. The argument of the * method represents the 'real' action sitting * in the workbench UI. * @see IWorkbenchWindowActionDelegate#run */ public void run(IAction action) { MessageDialog.openInformation( window.getShell(), "Hello Plug-in", "Hello, Eclipse world"); } /** * Selection in the workbench has been changed. We * can change the state of the 'real' action here * if we want, but this can only happen after * the delegate has been created. * @see IWorkbenchWindowActionDelegate#selectionChanged */ public void selectionChanged(IAction action, ISelection selection) { } /** * We can use this method to dispose of any system * resources we previously allocated. * @see IWorkbenchWindowActionDelegate#dispose */ public void dispose() { } /** * We will cache window object in order to * be able to provide parent shell for the message dialog. * @see IWorkbenchWindowActionDelegate#init */ public void init(IWorkbenchWindow window) { this.window = window; } }
运行和调试插件
在为Eclipse开发插件时,必须停止Eclipse,然后使用新插件重新启动它以进行测试和调试,这很尴尬。 幸运的是,Eclipse的PDE提供了一个自托管的开发环境,使您无需安装在工作台的单独实例中即可运行插件。
要运行Hello插件,请选择Run> Run As> Runtime Workbench以启动另一个Workbench实例,并添加我们插件的菜单选择和工具栏,如图5所示。
图5.运行时工作台中运行的Hello插件
我们可以通过单击工具栏按钮或从“示例菜单”菜单中激活插件。 这两种方法都将弹出一个标题为“ Hello Plug-in”的框,其中内容为“ Hello,Eclipse world”,然后单击 “ 确定”按钮将其关闭。
我们可以通过选择Run> Debug As> Runtime Workbench来以类似的方式调试插件。 这次,我们可以在原始工作台中逐步浏览源代码,检查变量等,而插件在第二个工作台实例中运行。
一旦我们的插件经过测试并准备发布,我们将需要对其进行适当打包,以便在Eclipse中进行安装。
包装插件
Eclipse通过在启动时查看其plugins目录来确定要加载的插件。 要安装插件,我们需要在plugins目录中创建一个子目录,然后将程序文件和清单文件复制到该目录中。 不必要,但是建议目录名称指示插件的ID,后跟下划线和版本号。 假设Eclipse安装在C:\ eclipse中; 我们可以建立一个目录:
C:\eclipse\plugins\com.example.hello_1.0.0.
按照Java应用程序的标准,我们的程序文件需要归档到JAR文件中-我们的插件清单文件,您可能还记得其中包含以下条目:
<runtime> <library name="hello.jar"/> </runtime>
要创建
hello.jar
文件,我们可以通过突出显示项目名称并从Eclipse菜单中选择File> Export来导出插件文件。 选择JAR文件作为目标,单击下一步 ,然后浏览到我们为其创建的目录。 接下来,我们也需要将plugin.xml文件复制到该目录。 您也可以使用“ 文件”>“导出”菜单选项(但请记住选择“文件系统”作为目标)。这是安装插件所需的全部操作,但是您将需要停止并重新启动Eclipse才能识别新插件。 通过从帮助菜单中选择“关于Eclipse平台”,可以找到有关已安装插件的信息,包括版本号。 出现的屏幕上的按钮之一将是“插件详细信息”。 向下滚动列表以查找Hello插件及其版本号。
更新插件版本
在目录名称中包含版本号的目的是允许插件的多个版本共存于同一台机器上(一次仅加载一个)。 我们可以通过创建Hello插件的更新版本来了解其工作原理:例如,将plugin.xml文件中的版本号更改为“ 1.0.1”,并将
SampleAction.java
的文本更改为“新建并改进”。您好,Eclipse世界。” 从Eclipse菜单中选择Project> Rebuild All 。 接下来,将项目文件作为JAR导出到新的插件目录—例如com.example.hello_1.0.1
。 将修改后的plugin.xml文件复制到同一目录。 当您停止并重新启动Eclipse时,将仅加载更新的插件。插件片段和功能
Eclipse由插件组成,但是在为Eclipse开发插件时,还需要考虑其他两个级别的组件:插件片段和功能。
顾名思义,插件片段构成了功能强大的插件( 目标插件)的一部分。 该片段提供的功能已与目标插件的功能合并。 片段可用于本地化用于不同语言的插件,可以在不需要全新版本的情况下向现有插件增量添加功能,或提供特定于平台的功能。 在许多方面,片段与插件相同。 主要区别在于片段没有插件类-片段的生命周期由其目标插件管理。 另外,片段的清单文件(称为fragment.xml)列出了目标插件的ID和版本号以及片段的ID和版本号。
另一方面,插件功能根本不包含编码。 在Eclipse体系结构术语中,功能是将一组相关的插件包装到一个完整的产品中。 例如,JDT是由插件组成的功能,例如Java编辑器,调试器和控制台。 名为feature.xml的清单文件描述了功能档案。 除其他事项外,此清单文件还包括对该功能部件包括的插件和其他资源的引用,有关如何更新该功能的信息,版权信息和许可信息。
在Eclipse中, 主要功能设置Eclipse平台的外观。 预期主要功能将确定诸如启动屏幕和其他赋予Eclipse身份的特征。 Eclipse仅允许一个主要功能。 这样,通过创建一组插件,将它们打包成一个功能部件,并使该功能部件成为主要功能部件,可以重新命名Eclipse,并将其用于创建全新的产品。 从Eclipse.org下载时,默认的主要功能是
eclipse.org.platform
。下一步
对插件的介绍必然涵盖了很少的插件可以完成的工作。 要了解有关插件的更多信息,最好的资源是Eclipse的帮助菜单中的《插件开发人员指南》 。 该文档包括编程指南,对Eclipse API和插件扩展点的引用,对Eclipse.org中可用的编程示例的指南以及常见问题列表。 另一个出色的资源是Eclipse本身的源代码。 根据您的兴趣,您可能希望找到有关如何扩展不同工作台功能(例如视图和编辑器)或如何使用SWT(Eclipse图形API)的示例。 此外,下面的“ 相关主题”可以帮助您了解更多信息。
翻译自: https://www.ibm.com/developerworks/java/library/os-ecplug/index.html
-
Eclipse 插件管理
2019-04-12 18:20:10前段时间需要安装Eclipse Scala插件, 折腾半天, 终于捣鼓好了. 将Eclipse 插件相关的知识记录在此. 安装插件 市场安装/地址安装(在线安装) 在Eclipse内安装插件, 一般人选择的是市场安装. 其实, 这样做有很多问题:...前言
前段时间需要安装
Eclipse Scala
插件, 折腾半天, 终于捣鼓好了. 将Eclipse 插件
相关的知识记录在此.相关插件CSDN下载
Eclipse-Scala-IDE-Oxygen.zip
m2e-scala.zip
安装插件
- 市场安装/地址安装(在线安装)
在Eclipse
内安装插件, 一般人选择的是市场安装. 其实, 这样做有很多问题:
- 安装的软件通常是最新版, 与你当前使用的
Eclipse
可能不兼容. - 安装的插件的位置通常难以掌握, 在更换
Eclipse
版本的时候, 通常需要将插件都重新安装一遍. 非常的繁琐.
- 地址安装(本地模式)
Zip包
的文件目录结构一般如下所示:
features
/plugins
对于某些插件而言, 将其拷贝到Eclipse文件夹下面的features
/plugins
目录也可以完成安装. 缺点是管理起来非常难受. 你会经常找不到原始插件的地址.
dropins
文件夹安装
有时可以将插件文件夹拷贝到dropins文件夹
直接安装. 其原理与features/plugins
一样.
管理插件/卸载插件
我们安装完成后, 经常不知道插件是否安装. 可以通过如下几个途径了解插件是否安装.
-
help -> install new Software -> installed
-
安装时候, 已经安装的插件通常不会再重复安装. 并且会提醒你插件已经安装完毕.
打开显示开关, 可以查看已经安装的部分(标记为灰色).
-
偏好 -> install/update
查看
-
About -> installed
也可以查看已经安装的插件.
-
卸载/更新 可以通过下方的按钮进行你需要的操作.
Others - 关联网站
有时可以通过查看
installed/uptdate
查看相应的安装路径.
最佳实际
个人感觉还是本地手动安装比较方便. 其他放在文件目录会导致插件难于管理, 网络链接有时候又链接不上. (较为难受)
这样做的好处是:
- 清楚知道安装了什么插件, 和插件的相关路径.
- 能手动控制插件的版本;
- 迭代更换
Eclipse
版本时候, 重装插件更加方便.
相关插件CSDN下载
Eclipse-Scala-IDE-Oxygen.zip
m2e-scala.zip
Reference
[1]. Eclipse如何卸载插件
[2]. Eclipse安装插件的三种方式
[3]. Eclipse安装插件的“最好方法”:dropins文件夹的妙用
[4]. Eclipse 3.5使用dropins的插件安装方式
[5]. 关于Eclipse Adt插件删除不掉的解决方法 - 市场安装/地址安装(在线安装)
-
10款好用Eclipse插件
2021-04-01 10:29:10Eclipse作为世界上著名的跨平台的自由集成开发环境(IDE),无疑是开发中手中的利器,那么Eclipse插件就是这把利器的磨刀石。然而,我们许多Java初学者却不知道如何获得这种磨刀石,本文我们就向大家介绍10款好用的... -
ibator-eclipse插件1.2.1 包含优化后jar包
2014-11-04 20:56:01ibatis代码自动生成工具Eclipse插件,已进行优化处理,不生成注释和精简dao方法,亲测可用 -
Eclipse插件开发
2019-03-16 23:10:47Eclipse依然是开发java的主流IDE之一, 技术公司如要提升开发侧的效率或者为产品吸引开发者,可以开发Eclipse插件。 本文将介绍Eclipse插件开发的一些点。 2 插件开发 2.1 按钮扩展 2.1.1 扩展菜单 扩展菜单扩展点... -
eclipse插件开发示例
2020-06-15 23:57:40eclipse插件开发也有一套流程,下面给出一个完整的示例。 1、创建plugin-project,这里需要plugin插件,如果没有可以先安装。 2、根据向导填写工程名称。 3、填写vender信息。 4、选择模板类型,我们选择... -
java反编译工具eclipse插件jad
2016-12-17 21:05:43java反编译工具eclipse插件jad -
精选10个用于Java开发Spring Boot的Eclipse插件
2021-11-23 17:01:29作为从事Java多年的程序员,在此分享用于 Java 和 Spring Boot 开发的 10 大 Eclipse插件: 1. EGit — Eclipse 的 Git 集成 这可能是当今 Java 开发人员最重要的 Eclipse 插件。它允许您从 Github 下载代码并为 ... -
hadoop2.2.0的eclipse插件
2014-02-17 14:51:30自己编译的hadoop-eclipse-plugin-2.2.0.jar插件:hadoop版本hadoop-2.2.0、eclipse版本:Eclipse Standard 4.3.1 -
Eclipse插件大全 挑选最牛的TOP30
2018-06-11 15:57:31原文:http://developer.51cto.com/art/201007/214478.htmEclipse插件大全 挑选最牛的TOP...本文详细为各位介绍了最强的30个Eclipse插件。作者:阿风来源:51CTO翻译|2010-07-28 08:47 收藏 分享【51CTO译文】Ecl... -
软件开发工具【十三】 之 Eclipse插件的使用与开发
2021-12-28 20:17:41插件的构成二、使用PDE进行插件开发1.PDE简介2.清单编辑器三、常用插件扩展点四、常用插件介绍与使用1.常用插件有哪些2.使用EMF插件能实现哪些功能 一、插件简介 1.什么是插件 2.插件的构成 extension标签是... -
【eclipse】eclipse插件开发(一)
2019-07-01 01:21:57我们完全可以开发属于自己的一套插件,安装在eclipse插件目录下,即可使用我们的插件。 下面说下eclipse插件的快速开发。 1、在eclipse中创建plugin工程 (如果没有找到Plug-in Development 或 Plug-ins,看这个文章... -
nodeclipse 离线安装包 nodejs eclipse插件
2015-12-16 23:37:31nodeJ集成eclipse插件离线安装包,解决国内被墙无法在线安装的难题 -
Eclipse插件开发 原书第3版.pdf
2012-04-11 14:21:33本书是一本由两位长期从事java商业...本书既包含了开发eclipse插件的基础理论,也涵盖了大量关于eclipse插件开发的细节。 本书不仅适用于eclipse插件开发的初学者,对于eclipse商业软件开发人员也有很高的参考价值。 -
eclipse插件下载及使用
2019-06-04 20:44:45由于软件构造课需要用到的插件比较多,所以就在这里进行一下汇总以及对于其中的一些操作进行总结与解释。 一、对于插件的配置 1.对于可以直接从eclipse下载的 比如像配置Memory Analyzer (MAT)还有spotbug以及... -
Eclipse插件emmet的jar包
2014-11-10 20:49:25Eclipse插件,非常好用的Emmet,免费提供 -
eclipse插件下载速度慢,可以这样解决
2020-03-26 12:16:26在使用eclipse进行开发的时候,经常会用到一些插件来...那么如何优化eclipse插件下载速度呢。我们可以选择挂VPN,或者选择使用国内镜像站。 那么,本文就谈谈要如何将eclipse的默认网站修改为国内镜像站。 第一步,... -
mybatis-eclipse插件及生成代码说明
2016-10-21 09:51:20mybatis-eclipse插件及生成代码说明 包含mybatis-eclipse插件、插件的安装说明以及通过一个简单的实例描述如何在eclipse中使用mybatis-eclipse插件自动生成Mybatis相关的model、dao、Mapping等文件。 详见:... -
Eclipse插件的安装与卸载详解
2018-05-09 09:36:47Eclipse插件的安装与卸载 1 所选插件简介三种插件比较工具目的检查项FindBugs检查.class基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug主要检查bytecode中的bug patterns,如NullPoint空指针... -
最完整的Eclipse插件AmaterasUML的下载安装教程
2020-04-02 20:13:28一、安装GEF插件 1、打开eclipse官网 官网地址:https://www.eclipse.org/ 2、点击Projects,搜索GEF,看到GEF项目后点击旁边的download 3、打开eclipse,在help选项中找到install new software,点击打开 ... -
Eclipse:Eclipse插件开发全套教程
2018-03-31 10:01:00分享是美德,作者为Eclipse核心工程师之一,全英文版,有不明白的地方欢迎探讨和咨询。 http://www.vogella.com/tutorials/eclipse.html 转载于:https://www.cnblogs.com/hibou/p/8681107.html... -
Mybatis+Eclipse插件用来快速生成model和mapper以及Dao
2014-01-16 10:13:34个人总结了一下,用来映射数据库在Eclipse中快速生成对象和mapper文件,也能生存dao文件。 数据库支持mysql oracle sqlServer。 -
Eclipse插件本地扩展安装
2019-04-25 15:40:30Eclipse插件本地扩展安装 -
jupiter4.0.0 提升代码质量利器 Eclipse插件
2014-09-12 16:42:50jupiter4.0.0 提升代码质量利器 Eclipse插件