第十二天:别都长的和Eclipse IDE一个样

云IDE:Eclipse Che:Eclipse下一代IDE Eclipse Che被Eclipse官方称为下一代IDE,作为老牌的IDE,被其寄予厚望的Eclipse Che到底有什么特点,在这篇文章中我们来一探究竟。 阅读详情

作者:梁祺 (eclipsesbs@gmail.com)

来自:http://www.benisoft.net/day12/index.html


我们通常说到Eclipse,都会想到Eclipse Java集成开发环境(IDE),或者其他基于Eclipse的集成开发环境。其实,Eclipse也允许用户开发普通应用程序,这就是Rich Client Platform也称之为RCP所提供的。再多说一句,Eclipse还允许用户开发命令行应用程序,称之为Headless,这个我们以后再谈。开发普通应用程序和开发IDE并没有什么不同,都需要开发plug-in,同样有透视图(Perspective),视图(View)和编辑器(Editor)。通过额外开发一个RCP plug-in,我们很容易将原来集成在IDE中运行的plug-in转变为一个独立的应用程序。我们接下来就将Itinerary开发一个成RCP应用,让它不再长得和Java集成开发环境似的。

RCP plug-in本身也是一个plug-in,所以我们先创建一个plug-in项目。在主菜单选择“File -> New -> Others”,在向导对话框中选择“Plug-in Project”。命名为“eclipse.tutorial.itinerary.rcp”,点击Next按钮。在下一页,我们会看到Rich Client Application,Would you like to create a rich client application? 选择Yes,点击Next按钮。

Eclipse提供四个RCP模板,我们选最简单的Hello RCP。点击Next按钮。

将应用的窗口标题改为“Itinerary”,其他不变,点击Finish按钮。项目创建完成。

在项目里,双击plugin.xml在Plugin Editor中打开,来到Extensions子页。Hello RCP模板扩展了两个扩展点。

  • org.eclipse.core.runtime.applications
  • org.eclipse.ui.perspectives

在第一个扩展中,定义了一个application,并指定了应用的实现类eclipse.tutorial.itinerary.rcp.Application。顾名思义,我们可以把这个类看做是我们这个应用程序的Java类。它实现了IApplication接口,并只有两个方法start(...)和stop(),分别负责启动和清理资源。大多数情况下,我们都直接使用Eclipse为我们生成的这个类,很少会去修改它。如果你有一些应用级的资源需要创建和释放,可以考虑放在这里。

Hello RCP模板还生成了三个辅助类,用于配置RCP应用程序的外观。在Eclipse的窗口架构里,是区分Workbench和Workbench Window这两个概念,如果你选择“Window -> New Window”,Eclipse会再生成一个窗口,所以,Workbench和Workbench Window是一对多的关系。

  • ApplicationWorkbenchAdvisor:配置Workbench,指定ApplicationWorkbenchWindowAdvisor等。
  • ApplicationWorkbenchWindowAdvisor:配置Workbench Window,比如窗口初始大小,指定ApplicationActionBarAdvisor等。
  • ApplicationActionBarAdvisor:配置Workbench Window的主菜单,工具栏,状态栏等。

因为RCP需要自己创建主菜单,我们需要对ApplicationActionBarAdvisor做一些修改。这个代码可以参考org.eclipse.ui.internal.ide.WorkbenchActionBuilder,仿照它创建需要的菜单就可以了。在Itinerary,我们只演示主菜单,工具栏可以参考WorkbenchActionBuilder。主菜单上需要File菜单,Itinerary菜单,和Help菜单。

  • File菜单下包含Open,Save,SaveAs,Exit就可以。整个菜单需要手工创建。
  • Itinerary菜单我们在Itinerary plug-in里已经有了,它是挂到主菜单的ID为"additions"的位置。所以我们在主菜单上放一个GroupMarker,其ID为"additions"。GroupMarker我们前面提到过,它是用来占位的,其他plug-in可以在它的位置添加自己的菜单,只要Action的属性path为"additions"就可以了。“additions”这个值是Eclipse的约定,遇到类似情况,推荐使用这个值。
  • 最后是Help餐单,包含Help Contents。这个菜单也需要手工创建。
     protected void fillMenuBar(IMenuManager menuBar) {
        menuBar.add(createFileMenu());
        menuBar.add( new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
        menuBar.add(createHelpMenu());
    }
    
     private MenuManager createFileMenu() {
        MenuManager menu =  new MenuManager( "File", IWorkbenchActionConstants.M_FILE);
        menu.add( new GroupMarker(IWorkbenchActionConstants.NEW_EXT));
        menu.add( new Separator());

        menu.add(closeAction);
        menu.add( new Separator());
        menu.add(saveAction);
        menu.add(saveAsAction);

         // If we're on OS X we shouldn't show this command in the File menu. It
         // should be invisible to the user. However, we should not remove it -
         // the carbon UI code will do a search through our menu structure
         // looking for it when Cmd-Q is invoked (or Quit is chosen from the
         // application menu.
        ActionContributionItem quitItem =  new ActionContributionItem(quitAction);
        quitItem.setVisible(!Util.isMac());
        menu.add(quitItem);
         return menu;
    }

     private MenuManager createHelpMenu() {
      ...
    }

在第二个扩展中,定义了一个透视图(Perspective),将它的名字改为“Itinerary”。它也指定了Perspective的实现类eclipse.tutorial.itinerary.rcp.Perspective。

Perspective为和任务相关的一些视图指定缺省的位置,用户可以根据需要关掉一些视图,或者将视图移动到其他为止。一般在Editor的左侧和右侧放置纵向展开的视图,比如展示项目的目录结构,在Editor的下方放置横向展开的视图,比如Console。另外一个规律是重要和展示全局的视图放在左侧,次要的和展示局部的视图放在右侧。

     public void createInitialLayout(IPageLayout layout) {
         // Get the editor area.
        String editorArea = layout.getEditorArea();

         // Top left: Property view placeholder
        IFolderLayout topLeft = layout.createFolder( "topLeft",
                IPageLayout.LEFT, 0.25f, editorArea);
        topLeft.addView(IPageLayout.ID_PROP_SHEET);
    }

接下来怎么启动RCP呢?我们测试或者调试代码时启动的Eclipse应用缺省都是org.eclipse.sdk.ide,所以我们看到的Eclipse长得就是继承开发环境的模样。这个启动应用是可以选择的,相当于Java程序开发时你选择哪个Java类的main方法启动(我们知道Java程序是可以有若干个Java类都定义有main方法的,用户可以选择启动哪个)。在启动RCP时,我们需要指定一下Eclipse应用为RCP应用。选择“Run -> Run Configurations”,得到下面这个对话框。把Program to Run改成“Run an application”,并指定为“eclipse.tutorial.itinerary.rcp.application”。

我们并不需要载入所有的plug-in,只要载入Itinerary的plug-in以及必要的Eclipse的plug-in就可以了。这个我们可以在Plug-ins子页中选择。进入Plug-ins子页。

  • 将Launch with改为plug-ins selected below only
  • 点击Deselect All按钮清除所有选中的plug-in
  • 选择Itinerary的3个plug-in
    • eclipse.tutorial.itinerary
    • eclipse.tutorial.itinerary.help
    • eclipse.tutorial.itinerary.rcp
  • 选择Eclipse帮助的4个plug-in,它们是Eclipse帮助所必须的。
    • org.eclipse.help
    • org.eclipse.help.base
    • org.eclipse.help.ui
    • org.eclipse.help.webapp
  • 再点击Add Required Plug-ins按钮,Eclipse会分析plug-in之间的依赖关系,将所以必须的plug-in选中
  • 保险起见,可以点击Validate Plug-ins按钮确认一下。

接下来,我们就可以点击Run按钮,看一下RCP启动起来是什么样的。

这样,Itinerary就比较像一个简单的应用程序了,去除了和Itinerary功能无关的菜单和视图,发布的时候,不必要的plug-in也不会包含在内。Itinerary的主要功能仍然在plug-in里完成,RCP plug-in主要是提供了一个外壳,你可以完全控制这个外壳的外观,就和开发一个原生窗口应用一样。

使用Eclipse和GoClipse作为Go开发IDE 使用Eclipse和GoClipse作为Go开发IDE 前言 安装步骤 安装Go SDK 第一个Go程序 安装Eclipse 安装GoClipse 配置GoClipse 在Eclipse中写第一个Go程序 使用Eclipse和GoClipse作为Go开发IDE 前言 因为在学习Kubernetes,所以希望能够对Kubernetes的源代码(用Go语言编写)也有所... 阅读详情

相关推荐

Eclipse中安装Spring IDE插件

1.查看Eclipse的版本号:Help->About Eclipse 2.去官网:http://spring.io/tools/sts/all查询或下载与Eclipse版本相对应的Spring版本 3.安装Spring IDE插件:Help->Install New Software 4.选择Add,添加Name(可以随便取)和Location(在官网查询到和Eclip...

始于混沌的博客 3万+

Eclipse Classic、Eclipse Standard和Eclipse IDE for Java Developers 的联系与区别

Eclipse Classic、Eclipse Standard、Eclipse IDE for Java Developers和Eclipse IDE for Java EE Developers的联系与区别     Eclipse是一个软件,sdk是指开发平台。如果你下载的是绿色版的,解压的文件里能找到eclipse.exe,双击进去就能用了。Eclipse-SDK是纯净版,没有添加

ldcaws的专栏 5257

Java EE IDE (Eclipse IDE for Enterprise Java Developers)安装

windows 10 系统 + JDK13.0.1 安装Java EE IDE JDK安装点击 JDK安装教程 一、下载 下载页面:点击Eclipse IDE for Enterprise Java Developers官网下载或者复制https://www.eclipse.org/downloads/packages/链接,选择 Eclipse IDE for Enterprise Java D...

weixin_36466834的博客 6350

Eclipse和IDEA哪个好

Eclipse And IntelliJ IDEA Eclipse和IDEA Eclipse 当下最流行的IDE(集成开发环境)当属eclipse和idea莫属,不少新手都在问这两个ide哪个更好,今天给大家说一下自己这些年来使用这两款开发环境的心得。 一般情况下,问这个问题大多是新手,不熟悉这两个ide的具体功能。老司机一般不会问这个问题,因为大家都很清楚这两个环境的长短。先说一下Eclip...

daniu6的博客 7万+

C++11并发与多线程笔记(2) 线程启动、结束,创建线程多法、join,detach

第二节 线程启动、结束,创建线程多法、join,detach 一、范例演示线程运行的开始 程序运行起来,生成一个进程,该进程所属的主线程开始自动运行;当主线程从main()函数返回,则整个进程执行完毕 主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个函数运行完毕,线程也结束运行 整个进程是否执行完毕的标志是:主线程是否执行完,如果主线程执行完毕了,就代表整个进程执行完毕了,此时如果其他子线程还没有执行完,也会被强行终止【此条有例外,以后会解释】 创建

qq_38231713的博客 1万+

Java开发工具对比:Eclipse和IntelliJ IDEA

如果你只是想找个IDE来学习Java,或者你需要漂亮的图标,再或者你的电脑配置并不高,那么Eclipse是个不错的选择。如果你想找个能提升开发效率的IDE,想找一个更快更方便的工具,推荐你用IntelliJ IDEA。Eclipse工具第一:在Eclipse中,可以最大化控制台。通过双击标签或者Ctrl+M快捷键就可以实现,但是在IntelliJ IDEA中却没有类似的方式。
 第二:Eclips

三三大家长 4万+

避坑指南:Ubuntu 22.04上源码编译Autoware.universe(Humble版)的完整流程与常见错误修复

本文详细介绍了在Ubuntu 22.04上源码编译Autoware.universe(Humble版)的完整流程与常见错误修复方法。从环境准备、依赖安装到编译优化,提供了实用的避坑指南和解决方案,帮助开发者高效完成安装并避免常见问题。特别针对源码安装过程中的疑难杂症给出了具体修复建议。

weixin_33712987的博客 382

Eclipse Java IDE 和 Eclipse Java EE IDE 工具区别

第一篇文字

滑落的尖刀的博客 1万+

MATLAB实战:用Costas环和Gardner环搞定QPSK同步问题(附完整代码)

本文详细介绍了如何使用MATLAB实现Costas环和Gardner环联合解决QPSK同步问题,包括载波同步和定时同步的技术原理、MATLAB代码实现及性能分析。通过完整的仿真示例和工程实践建议,帮助读者掌握QPSK同步技术的核心要点,提升数字通信系统的解调性能。

agile9scrum的博客 690

1.3-----Simplify 3D切片软件:从新手困惑到高效打印的进阶设置指南

本文详细介绍了Simplify 3D切片软件在大型模型打印中的高效设置技巧,包括切片效率、支撑结构智能生成和精细参数调节等核心优势。通过实战案例和进阶参数设置指南,帮助用户从新手快速进阶到高效打印,显著提升3D打印质量和效率。

weixin_42552716的博客 422

Eclipse、IntelliJ IDEA、PyCharm三种IDE的区别

它提供了丰富的功能,包括代码自动完成、调试、版本控制以及与各种Python框架(如Django、Flask等)的集成。与Eclipse和IntelliJ IDEA相比,PyCharm在Python开发方面更具针对性,提供了更丰富的Python开发工具和更完善的Python支持。它的优点包括免费开源,功能强大且可扩展,具有强大的调试功能,并且使用起来相对简单。Eclipse、IntelliJ IDEA和PyCharm是三种流行的集成开发环境(IDE),每个都有其特性和优点。

Q的博客 420

pg lib的信息及产生pg lib的三种方法

pg lib相比basic lib会多几方面pg 信息。除了pg arc(pg pin)以外,liberty还提供电压值,以及pmk cell的power_down_function功能相关信息。1.电压值除了常见的primary pg还有secondary pg和衬底。2.pg arc后端需要去做redhawk功耗分析,需要pg liberty提供pg arc,如果没有pg arc就需要手动去写custom lib代替3.pmk cell的power_down_function。

m0_61544122的博客 595

Eclipse IDE教程

1.关于Eclipse的一些知识 Eclipse作为一种广泛流行的用于多种编程语言的IDE,已经存在了很多年。 凭借其出色的基于插件的体系结构,Eclipse是减轻开发任务的一个很好的工具。 要成为当今世界上使用最广泛的IDE,需要付出很多努力和工具。 Eclipse是为相同目的而组合在一起的众多插件的组合。 在本教程中,我将介绍Eclipse用户界面的主要预打包组件,并帮助您开始使用Ec...

danpu0978的博客 9931

Oracle EBS Tax 四国实现详解:印度、巴西、美国、阿根廷

印度:务必启用India Localization模块,不要尝试用标准EBTax模拟GST逻辑 巴西:必须配置NF-e接口,建议聘请本地税务顾问设置CFOP和NCM代码映射 美国:跨州业务强烈建议购买Vertex或Avalara服务,自建税率表维护成本极高 阿根廷:注意1:1:1架构限制,提前规划Legal Entity和OU结构

金牌架构师 260

【扣子AI开发】如何开发一个图像生成智能体?

【扣子AI开发】如何开发一个图像生成智能体,从创建到发布

tl437002770的博客 2427

eclipse IDE的安装和常用配置教程(详细)

第一步:安装配置JDK 打开eclipse需要先安装和配置好JDK,所以需要提前配置JDK(链接如下) https://blog.youkuaiyun.com/weixin_46028577/article/details/106268609 第二步:下载eclipse(官网链接如下) https://www.eclipse.org/downloads/packages/release 查看下载结果 第三步:解压并打开eclipse 桌面快捷方式 打开后的界面 增加其他功能区 至此,eclip

李子翔 8277

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Eclipse IDE安装教程

手把手教你安装Eclipse

weixin_49334810的博客 5371

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Eclipse IDE for Java Developers与Eclipse IDE for Java EE Developers的区别

说实话,小编学希编程有段时间了,压根就以为天下的eclipse都是一家,一回事,只是版本不同罢了,最近接触了javaEE,才对eclipse有了一点新的认识,原来自己的想法一直狠2很天真,以前木有好好学,现在慢慢补吧     话说,小编之前用的一直是Helios Service Release 2,这是Eclipse IDE for Java Developers,昨天上机(实验室有Eruopa

a6717043的专栏 3万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

eclipse ide安装_如何下载和安装Eclipse IDE?

eclipse ide安装Eclipse is a project which mainly provides a free, advanced integrated development environment for different languages and platforms. Eclipse support operating systems like Windows, Linux...

cunjiu9486的博客 3182

下载Eclipse IDE

快速学会安装eclipse环境

sdjdj_ksk的博客 6731

2025年Java开发者都在用哪些IDE?一文了解几大主流Java IDE:JetBrains IntelliJ IDEA、Eclipse、VS Code等

想提升Java开发效率?除了好用的IDE,别忘了JRebel这样的神器,它能让你无需重启就能看到代码改动效果。可结合IntelliJ IDEA/Eclipse/VS Code使用,效率直接起飞~

weixin_49715102的博客 4422

Eclipse IDE 快捷键大全

熟能生巧,多加练习才能形成肌肉记忆!

我是Xtaiyang,我的学习不止于自己掌握,更在于与你一起前行。所以我把笔记公开,把心得共享,只为构建一个自由学习的空间 。这里没有“我的”,只有“我们的”。 1950

Ubuntu 安装 Eclipse IDE

Ubuntu 安装 Eclipse IDE

程永强 1万+

Eclipse IDE for Java EE Developers 去哪里了?

笔者开发Java EE一直使用的IDE是Eclipse,不管是SSH/SSM框架,还是Spring Boot体系,都是如此,版本源自2017年的 Eclipse Java EE IDE for Web Developers.Version: Oxygen.1a Release (4.7.1a),如下图: 现如今已经是2020年了,想着更新下吧,毕竟它的dark模式还是不然IDEA体验好啊,打...

群鸿 1万+

eclipse ide_了解您的IDE:Eclipse

eclipse ide 从.NET切换到Java时,我自然不得不切换IDE。 转向Java之后,我选择了Eclipse。 我很幸运有一大群同事,他们花了很多时间来共享快捷方式和技巧,使我能够最大程度地利用Eclipse。 我发现非常有用的第一个快捷方式之一是Ctrl + Shift + t,它使您可以键入一个类名,作为回报,它会汇总要打开的相关文件或匹配文件。 在以下各节中,我列出了一些其...

danpu0978的博客 427
上一篇: 第十一天:我需要一个帮助Plug-in
下一篇: 第十三天:终于可以打包发布了
std3lqi
博客等级 码龄24年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值