-
Eclipse插件
2012-05-15 19:11:24一个很赞的eclipse插件,可以简单方便地实现eclipse下的代码配色。 另外插件作者还专门为此插件做了一个eclipse配色网站,配色多达728个,开发者们也可以在此网站分享自己的配色方案。 插件设置界面: 安装方法:...1. eclispe 配色方案
2. eclipse VIM插件
a. eclispe 配色方案
原文转自这篇文章
一个很赞的eclipse插件,可以简单方便地实现eclipse下的代码配色。
另外插件作者还专门为此插件做了一个eclipse配色网站,配色多达728个,开发者们也可以在此网站分享自己的配色方案。插件设置界面:
安装方法:
如果是Eclipse 3.6 (Helios)版本,可以打开 Help -> Eclipse Marketplace 搜索Eclipse Color Theme来进行安装。Eclipse 3.5 (Galileo)版本可以通过Help -> Install New Software,单击 Add Site 来加入Eclipse Color Theme的安装地址的方式进行安装。
b . eclipse vim 插件 vrapper
http://my.oschina.net/mayqlzu/blog/96146 -
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插件删除不掉的解决方法 - 市场安装/地址安装(在线安装)
-
Eclipse插件开发
2019-03-16 23:10:47Eclipse依然是开发java的主流IDE之一, 技术公司如要提升开发侧的效率或者为产品吸引开发者,可以开发Eclipse插件。 本文将介绍Eclipse插件开发的一些点。 2 插件开发 2.1 按钮扩展 2.1.1 扩展菜单 扩展菜单扩展点...1 概要
Eclipse依然是开发java的主流IDE之一, 技术公司如要提升开发侧的效率或者为产品吸引开发者,可以开发Eclipse插件。
本文将介绍Eclipse插件开发的一些点。2 插件开发
2.1 按钮扩展
2.1.1 扩展菜单
扩展菜单扩展点org.eclipse.ui.menus,指定命令id。
2.1.2 实现命令
处理类继承AbstractHandler
2.2 偏好扩展
2.2.1 扩展页面
偏好页面扩展点:org.eclipse.ui.preferencePages。
2.2.2 页面实现
2.2.3 初始化偏好
插件激活的时候初始化:
2.3 向导扩展
向导提供创建项目或文件的指引式操作。
2.3.1 扩展配置
在扩展点配置org.eclipse.ui.newWizards。
2.3.2 实现向导
继承向导父类,实现向导接口。
2.3.3 实现页面
2.4 编辑器扩展
2.4.1 扩展配置
在扩展点配置org.eclipse.ui.editors。
2.4.2 编辑器实现
2.5 右键菜单
2.5.1 扩展配置
扩展扩展点 org.eclipse.ui.popupMenus, 配置如下,注意几个点,objectClass 指定项目结构资源树每个节点的对象的所属类,nameFilter 可以过滤后缀。action 配置多个,i就出现多个右键菜单。
<extension point="org.eclipse.ui.popupMenus"> <objectContribution id="rcp.actions" objectClass="org.eclipse.core.resources.IFile" nameFilter="*.html"> <action id="actions.OpenUrlAction" label="打开页面" class="actions.OpenUrlAction" menubarPath="additions" enablesFor="1"> </action> <action id="actions.CopyUrlAction" label="复制地址" icon="icons/copy_url.png" class="ctions.CopyUrlAction" menubarPath="additions" enablesFor="1"> </action> </objectContribution> </extension>
2.5.2 实现处理类
右键菜单的逻辑实现接口 IObjectActionDelegate ,处理run方法。如下:
public class OpenUrlAction implements IObjectActionDelegate { private TreeSelection selection; /** * 获取selection. * * @return the selection */ public TreeSelection getSelection() { return selection; } /** * {@inheritDoc} * * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction) */ @SuppressWarnings("unused") @Override public void run(IAction action) { TreePath[] paths = this.getSelection().getPaths(); IFile file = (IFile) this.getSelection().getFirstElement(); String url = HtmlUrlBuilder.getUrl(file); IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport(); try { IWebBrowser browser = browserSupport.createBrowser(file.getFullPath().toString()); browser.openURL(new URL(url)); } catch (PartInitException | MalformedURLException e) { e.printStackTrace(); } } /** * {@inheritDoc} * * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, * org.eclipse.jface.viewers.ISelection) */ @Override public void selectionChanged(IAction action, ISelection selection) { this.selection = (TreeSelection) selection; } /** * {@inheritDoc} * * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, * org.eclipse.ui.IWorkbenchPart) */ @Override public void setActivePart(IAction action, IWorkbenchPart part) { // TODO Auto-generated method stub } }
2.6 获取浏览器支持
通过平台ui获取工作台,再获取浏览器支持,创建浏览器,打开url地址。
IWorkbenchBrowserSupport browserSupport = PlatformUI.getWorkbench().getBrowserSupport(); try { IWebBrowser browser = browserSupport.createBrowser(file.getFullPath().toString()); browser.openURL(new URL(url)); } catch (PartInitException | MalformedURLException e) { e.printStackTrace(); }
2.7 控制台扩展
在控制台管理添加新建立的 MessageConsole 消息控制台,使用消息流MessageConsoleStream 输出文本信息和错误堆栈信息。
public class Console { private static MessageConsole console = findConsole(); private static MessageConsoleStream stream; public static void println(String msg, Throwable e) { println(msg); try { OutputStreamWriter writer = new OutputStreamWriter(stream); PrintWriter s = new PrintWriter(writer); e.printStackTrace(s); writer.flush();// 刷才会输出 } catch (IOException e1) { e1.printStackTrace(); } } public static void println(String msg) { if (stream == null) { stream = console.newMessageStream(); stream.setEncoding("utf-8"); } stream.println(msg); } /** * * @return */ public static MessageConsole findConsole() { String name = "xxx"; IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager(); IConsole[] consoles = consoleManager.getConsoles(); for (IConsole console : consoles) { if (name.equals(console.getName())) { return (MessageConsole) console; } } MessageConsole console = new MessageConsole(name, null); consoleManager.addConsoles(new IConsole[] { console }); return console; } public static void close() { if (stream != null) { IOUtils.closeQuietly(stream); } stream = null; } }
-
maven3.2.2 eclipse插件 离线包
2014-07-23 10:52:17maven3.2.2 eclipse插件 离线包 使用eclipse联网安装插件失败的可以下载该离线包,解压后合并同名文件夹的内容,然后重启eclipse即可。 -
【eclipse插件开发实战】 Eclipse插件开发6——eclipse在线翻译插件Translator开发实例详解
2014-08-04 00:11:13eclipse插件开发6——翻译小助手Translator开发实例 在上一篇文章中讲到了一个简单的eclipse插件开发实例,主要是对插件工程的基本创建步骤进行了讲解,这篇文章当中给出一个翻译小插件的实例,调用有道...Eclipse插件开发6——eclipse在线翻译插件Translator开发实例详解
在上一篇文章中讲到了一个简单的eclipse插件开发实例,主要是对插件工程的基本创建步骤进行了讲解,这篇文章当中给出一个翻译小插件的实例,调用有道翻译API实现实时取词查询。
一、项目中需要引用的库
httpclient-4.1.3.jar
httpclient-cache-4.1.3.jar
httpcore-4.1.4.jar
commons-io-2.1.jar
commons-logging-1.1.1.jar
httpmine-4.1.3.jar
org.jdom-1.1.1.jar
二、窗体设计
先说明一下,API的key可以自行申请以获取链接。
下面先看主要代码,这里为QueryDialog.java,通过添加文本框、按钮等,最后响应事件:
import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Monitor; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.jdom.Document; import org.trans.fanyi.Activator; import org. trans.fanyi.httpclient.HttpClientUtil; import org. trans.fanyi.model.ResultModel; public class QueryDialog extends Dialog{ private Text queryText; private Text resultTextText; private Button queryButton; private Group infoGroup; protected QueryDialog(Shell parentShell) { super(parentShell); } @Override protected Control createContents(Composite parent) { Shell shell = this.getShell(); shell.setSize(400, 300); Monitor primary = shell.getMonitor(); Rectangle bounds = primary.getBounds(); Rectangle rect = shell.getBounds(); int x = bounds.x + (bounds.width - rect.width) / 2; int y = bounds.y + (bounds.height - rect.height) / 2 - 50; shell.setText("翻译小助手"); shell.setLocation (x, y); shell.setImage(Activator.getImageDescriptor("/icon/menu.png").createImage()); /*布局开始*/ Composite composite = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(3, false); layout.marginBottom = 10; layout.marginTop = 10; layout.marginLeft = 10; layout.marginRight = -30; layout.horizontalSpacing = 30; layout.verticalSpacing = 0; composite.setLayout(layout); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); /*headerComposite...*/ Composite headerComposite = new Composite(composite, SWT.NONE); headerComposite.setLayout(new GridLayout(3, false)); headerComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); new Label(headerComposite, SWT.NONE).setText("请输入:"); queryText = new Text(headerComposite, SWT.BORDER | SWT.MULTI); queryText.setText(DialogUtil.getSelecedTextFromEditor());//设置选中的文字 queryText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); queryButton = new Button(headerComposite, SWT.NONE); queryButton.setText("查询"); //给Button添加事件 addListenerToButton(); //******************************// //***GROUP START***// Composite infoComposite = new Composite(parent, SWT.NONE); infoComposite.setLayout(new GridLayout(1, true)); infoComposite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); infoGroup = new Group(infoComposite, SWT.NONE); infoGroup.setText("查询结果"); GridLayout groupLayout = new GridLayout(1, false); groupLayout.marginBottom = 5; groupLayout.marginTop = 5; groupLayout.marginLeft = 10; groupLayout.marginRight = 10; infoGroup.setLayout(groupLayout); infoGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); infoGroup.pack(); resultTextText = new Text(infoGroup, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY); resultTextText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); resultTextText.setText("" + System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + ""+ System.getProperty("line.separator") + // ""+ System.getProperty("line.separator") + ""); return super.createContents(parent); } @Override protected Button createButton(Composite parent, int id, String label, boolean defaultButton) { if (id == IDialogConstants.CANCEL_ID || id == IDialogConstants.OK_ID) { return null; } return super.createButton(parent, id, label, defaultButton); } public void addListenerToButton(){ queryButton.addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { String qtext = queryText.getText(); if(qtext.isEmpty()){ MessageDialog.openInformation(Display.getCurrent().getActiveShell(), "提示", "请输入或选择查询"); } else { Document doc = HttpClientUtil.getDocumentByQuery(qtext); if(doc != null){ ResultModel rm = HttpClientUtil.convertDocToModel(doc); resultTextText.setText(ResultModel.getFormattedDisplatString(rm)); } } super.mouseDown(e); } }); } }
把导出的jar包安装到plugins下,最终运行效果图:
项目源码已经commit在github上,有兴趣的可以去看一下:https://github.com/DianaCody/Translator.git,并且插件的jar包下载也在README.md文档里有下载链接,把jar包放到plugin目录下即可安装,jar包也可以到我的csdn资源页下载http://download.csdn.net/detail/dianacody/7659093 -
【eclipse插件开发实战】Eclipse插件开发7——插件发布jar包
2014-08-04 00:14:22Eclipse插件开发7——插件发布jar包 最省事的方式就是直接导出jar包,然后放到eclipse的plugins目录下,重启eclipse即可。 step1:对需要打包的插件工程右击→导出(Export) -
【eclipse】eclipse插件开发(一)
2019-07-01 01:21:57我们完全可以开发属于自己的一套插件,安装在eclipse插件目录下,即可使用我们的插件。 下面说下eclipse插件的快速开发。 1、在eclipse中创建plugin工程 (如果没有找到Plug-in Development 或 Plug-ins,看这个文章... -
【eclipse插件开发实战】 Eclipse插件开发5——时间插件Timer开发实例详解
2014-08-03 18:03:09eclipse插件开发5——时间插件Timer开发过程及步骤 -
eclipse插件导出失败
2017-03-20 19:57:30将eclipse插件导出为Deployed plug-ins and fragments时失败并提示: 现象将eclipse插件导出时失败,根据提示打开log 1. ERROR in D:\workspace\com.test.myplugin\src\com\test\myplugin\Environment.java (at ... -
Eclipse - Eclipse插件安装方法
2014-06-24 17:28:50一个好的插件可以大大的提高我们的工作效率,学习如何安装Eclipse插件自然也是必修课了。下面介绍Eclipse插件的安装方法。 Eclipse插件的安装方法大体有以下三种: 第一种:直接复制法 假设你的Eclipse的在... -
【eclipse插件开发实战】Eclipse插件开发1——eclipse内核结构、扩展点机制
2014-07-23 22:27:35Eclipse插件开发1——eclipse内核、扩展点机制 一、Eclipse内核结构 Eclipse是一个称作插件加载器的小内核,有上百个插件,eclipse最重要的特征就是它的插件架构,其核心非常小,而由许多功能插件组合而成... -
eclipse安装m2eclipse插件
2016-03-29 15:46:221,下载并解压maven安装包,我的是apache-maven-3.3.3-bin.tar.gz。...需要给它添加m2eclipse插件。 Help - Install new Software,Add,name为m2e(可自定义),Location为:http://download.eclipse.org/techno -
Eclipse插件10
2014-06-13 14:19:03ProtoTiger 是一个用来为 Apache MINA 2.x 产生源码的Eclipse插件。更多ProtoTiger信息 Eclipse的JUnit测试覆盖插件 Coverlipse Coverlipse这个Eclipse插件能够把JUnit测试的代码覆盖直观化... -
Eclipse插件ESLint安装
2017-09-03 20:20:14Eclipse插件ESLint安装 -
Eclipse插件本地扩展安装
2019-04-25 15:40:30Eclipse插件本地扩展安装 -
Eclipse插件SVN配置
2016-04-25 14:32:54Eclipse插件SVN配置 -
Eclipse插件5
2014-06-13 14:13:06Jetty 的Eclipse 插件 Jetty Launcher Jetty Servlet容器的Eclipse支持插件,通过该插件可以直接在Eclipse环境中启动、停止 Jetty ,同时进行在线调试而无需重启服务。 Eclipse 的 Update 地址是:... -
ZooKeeperEclipse 插件
2014-10-29 10:00:59插件地址:ZooKeeperEclipse ... 安装ZooKeeperEclipse插件步骤如下: Step 1. 在 Eclipse 菜单打开Help -> Install New Software… Step 2. 添加 url http://www.massedynamic.org/ec -
Drools6.4 Eclipse插件安装
2016-09-06 19:17:38安装Drools Eclipse插件下载插件下载地址:http://www.drools.org/download/download.html 打开上面链接,点Drools and jBPM tools后面的Distribution ZIP,如下图。 看此栏目后面的说明: Eclipse plugins and ... -
25个高效的Eclipse插件
2018-05-15 14:31:43拥有合 适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序。Eclipse的插件也能帮助他们开发不同 应用架构上的程序。下面列出来的是25个最好的免费Eclipse插件,可以让... -
eclipse插件mybatipse安装
2017-02-14 17:51:24eclipse插件mybatipse安装 MyBatipse是Eclipse的一个插件,提供了内容提示和Mybatis的配置文件验证功能; 在Eclipse help目录中选择Install New Software并添加路径: ... -
eclipse 插件与工具下载站点集合Eclipse插件网站
2007-06-29 20:19:00工具eclipse 插件与工具下载站点集合(大全): - 收集Eclipse插件网站Aploo.com 2006-08-08, 11:32 上午 eclipse 插件与工具下载站点集合:1) eclipse官方下载站点http://www.eclipse.org/downloads/2) WTP 工具下载... -
【eclipse插件开发实战】Eclipse插件开发3——OSGi、RCP
2014-07-24 21:06:36Eclipse插件开发3——OSGi、RCP 一、OSGi 1. 什么是OSGi框架 OSGi(Open Service Gateway Initiative)框架是运行在JavaVM环境里的服务平台。框架提供的主要功能是对应用和组件的生命周期管理,系统可以在... -
eclipse 插件easyshell
2014-12-10 04:05:24easyshell是一个非常好用的eclipse插件工具,用于快速打开文件目录、复制文件路径、cmd打开等等,比easyexplore更强大。 方法一: 1、打开eclipse 商店 2、搜索easyshell 3、点击install 重启即可安装好 ... -
Eclipse插件开发流程
2017-03-31 10:05:38Eclipse插件开发流程 最近工作比较繁忙,都没有时间写技术博客了,最近工作中用gradle管理项目,每次更改了模块关系或者更新了SVN,都要重新gradle和重新刷新和编译,每次要做这些操作都要切换到工作空间的文件夹中... -
从本地安装Eclipse插件详解
2017-09-12 18:00:45由于绝大多数Eclipse插件的Update Site服务器位于国外,甚至无法访问,再加上Eclipse自身缓慢的下载速度,导致在线安装Eclipse插件耗费的时间非常多。因此,一般情况下,我们建议先通过加速下载工具手动下载插件... -
【eclipse插件开发实战】Eclipse插件开发4——插件JDE、PDE开发方式及plugin.xml配置文件结构
2014-08-03 17:51:07Eclipse插件开发4——插件JDE、PDE开发方式及plugin.xml配置文件结构 -
eclipse插件egit安装使用
2013-11-25 09:23:20eclipse插件egit安装使用 -
eclipse插件 properties Editor离线安装
2017-09-25 10:36:03eclipse插件 properties Editor离线安装 -
Freemarker eclipse 插件配置
2014-04-16 15:52:00简述: Freemarker 试用 eclipse插件
-
JDK8精简版 单独JRE运行环境
-
TexLive与TexStudio2020下载,安装及配置(亲测莫问题)
-
中红外氟化物激光晶体的生长和性能优化研究
-
MATLAB潮流计算程序
-
转行做IT-第2章 HTML入门及高级应用
-
Redis数据库入门与使用
-
JavaEE框架(Maven+SSM)全程实战开发教程(源码+讲义)
-
Mid-infrared
-
Metabase从入门到精通视频教程
-
Qt项目实战之基于Redis的网络聊天室
-
结合DenseNet与通道注意力机制的空对地目标检测算法
-
bianyiqi.zip
-
反微机教室远程控制插件【电子教室远程杀手】
-
手势解锁-canvas-javascript实战
-
【数据分析-随到随学】互联网行业业务指标及行业数
-
Java Web开发之Java语言基础
-
2010-2020年暨南大学820数字电子技术考研真题
-
算法导论二(排序和顺序统计量)——编程大牛的必经之路
-
数据类型转换、运算符、方法入门
-
kvm切换器是什么?