`
eclipsesbs
  • 浏览: 20179 次
社区版块
存档分类
最新评论

第十一天:我需要一个帮助Plug-in

阅读更多

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

 

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

 

今天我们来为Itinerary创建帮助plug-in。一般我们都会将帮助内容放在一个单独的plug-in里,但Eclipse 也允许帮助内容和程序在同一个plug-in里。不过前者更加常见也更加规范。

同样,我们需要创建一个新的plug-in项目,选择"File -> New -> Others", 在向导对话框里选择Plug-in Project,项目名称为"eclipse.tutorial.itinerary.help", 略微有些不同的是,帮助plug-in没有任何代码,所以可以把勾选项Create a Java project去掉。 点击Next按钮,将plug-in的名称改为"Itinerary Help",再点击Next按钮。 选择模板"Plug-in with sample help content",点击Next按钮。

选择Primary,这样会生成标准的Eclipse帮助结构。点击Finish按钮生成项目。标准的Eclipse帮助结构有五个大类。

这五个大类分别是:

  • Getting Started:提供简单教程,帮助用户上手。
  • Concepts:应用所涉及的一些概念或术语的解释。
  • Tasks:告诉用户如何完成一些任务,也就是How-to。
  • Reference:比较详细的帮助内容,一般会按界面来安排,比如视图,详细说明视图中的所有菜单,按钮,以及 每个控件等等。
  • Samples:存放一些例子,比如报表软件可以提供一些报表的例子。

将包含该帮助plug-in的Eclipse启动起来后,我们选择"Help -> Help Contents", 在帮助左侧就能看到这五大类的帮助内容。

我们回过来看一下项目。在Package Explorer View里,可以看到html目录里包含很多HTML文件,这些是帮助的内容。 下面还有很多toc开头的XML文件,这些文件定义了帮助的结构,也就是确定HTML文件在帮助中的位置,以及相互关系。

双击plugin.xml在Plug-in Editor中打开,来到Extensions子页,可以看到该帮助plug-in扩展了org.eclipse.help.toc 这个扩展点,并定义了若干个TOC(Table of Contents),TOC定义了帮助的结构,它本身不包含任何帮助内容。 每个TOC都关联一个XML文件。其中第一个TOC,它的Primary属性为true,这意味着这个TOC是根TOC, 将作为一个根节点出现在Eclipse的帮助系统中,其他的TOC都挂接在这个根TOC下。如果帮助plug-in需要不止一个根节点, 可以设置多个TOC的Primary属性为true,这时需要仔细关联其他TOC到正确的根TOC下。

我们打开第一个TOC的XML文件,也就是toc.xml文件。Eclipse为TOC XML文件提供了编辑器方便查看和编辑, 我们可以看到该TOC定义了两个主题,Main Topic 和Main Topic 2,第一个主题的内容存放在html/maintopic.html,并且它还有一个子主题, 它内容存放在html/subtopic.html里。但是由于这个TOC是根TOC,这些主题是不会被显示出来的, 当用户在帮助中选择这个根节点是,显示的是html/toc.html。我相信这是模板的一个Bug。

我们再来看看tocconcepts.xml,这里需要注意一下Anchor属性,Concepts TOC被链接到toc.xml#concepts上, 这意味着在根TOC上会自动创建一个锚点,用于放置Concepts的内容。这样不同的TOC就被链接在一起,形成一个树状结构, 避免维护一个大而全的TOC。Concepts下面定义了两个主题,也是Main Topic和Main Topic 2。

Concepts的第一个主题Main Topic的内容存放在html/concepts/maintopic.html。

通过这个例子,我们可以了解Eclipse的帮助是怎么组织的,帮助的文字图片都是以HTML文件的形式编写的, 而帮助的结构是由TOC XML文件确定的,也就是指定主题所对应的HTML文件,以及主题之间的父子关系。 这种内容和结构分开的做法使得Eclipse帮助的维护非常的简单和清晰。

分享到:
评论

相关推荐

    Eclipse RCP Plug-in开发自学教程(Eclipse3.6)

    - **创建一个帮助插件工程**:添加帮助文档和支持到产品中。 16. **专题一**:ECLIPSE的版本和发行包 - **版本VERSION**:了解Eclipse的版本体系和选择原则。 - **发行包EDITION**:解析Eclipse的不同发行版,如...

    RCP Plug-in开发自学教程(中国Eclipse社区首发)

    本教程“RCP Plug-in开发自学教程”是中国Eclipse社区(CEC)首发,旨在帮助初学者及进阶者掌握RCP插件的开发技巧。 一、Eclipse RCP基础 Eclipse RCP是Eclipse IDE的一个组成部分,允许开发者创建具有丰富用户...

    PHP 插件:100个有效解决方案:实际PHP问题的解决方案(Plug-In PHP: 100 Power Solutions:Simple Solutions to Practical PHP Problems)

    《PHP插件:100个有效解决方案》(Plug-In PHP: 100 Power Solutions) 是一本旨在为PHP开发者提供实用解决方案的书籍。本书由Robin Nixon撰写,Todd Meister担任技术编辑,由麦格劳希尔出版社出版。它涵盖了广泛的PHP...

    Indesign插件合集(支持ID CS6~CC 2021)

    ID插件,可以使串联的文本框...Ins\”下,只要放到Plug-Ins下,Indesign都能识别,为了便于管理,可以集中放到一个特定目录,例如:Indesign安装目录\Plug-Ins\ID++\ 注:Indesign安装目录 = Indesign.exe所在位置。

    nero 10 hd key

    这些激活码包括主程序激活码以及各种插件的独立激活码,如Gracenote Plug-In、DTS Plug-In、mp3PRO Plug-In、Nero Blu-ray Disc Playback Plug-in和Nero Moveit Plug-in等。 #### 主程序激活码 - **...

    (中小学教育)一定能够用的到的十九种功能句型.docx

    - The first thing you should do/need to do is to plug it in.:你应该做的第一件事就是把它插上电源。 - First, you need to take off the lid.:首先,你需要把盖子拿掉。 - The first step is to get the ...

    Ext JS in Action (Final Edition).pdf

    - **第1章:一个独特的框架**(A framework apart):介绍了Ext JS的独特之处及其在Web开发领域的地位。 - **第2章:回归基础**(Back to the basics):详细讲解了Ext JS的基础概念,包括类、对象、DOM操作等基础...

    QuartusII 中利用 IP 核的设计

    - 选择`Tools`->`MegaWizard Plug-In Manager`。 - 在MegaWizard插件管理器中,选择`Memory Compiler`下的`RAM:2-PORT`,定义输出文件名为`myram2`。 - 定义RAM的基本属性,包括读写端口、RAM的大小、数据宽度和...

    HP Vertica 8.0 完全管理员手册 英文版

    - **内容概览**:介绍了Vertica Plug-In for Informatica等第三方插件的使用方法,以扩展HP Vertica的功能边界。 #### 二十一、术语表 - **章节位置**:文档第4514页。 - **内容概览**:提供了HP Vertica中常见术语...

    XMPP Programming with JavaScript and jQuery

    - **jQuery**:一个快速、简洁的JavaScript库,简化HTML文档遍历、事件处理、动画等操作。 该书旨在介绍如何利用JavaScript及其流行的库——jQuery进行XMPP协议的应用程序开发。 #### 标签分析:“XMPP JavaScript...

    Eclipse-4-RCP教程

    - **发展历史**:Eclipse IDE 2.0最初设计为一个模块化的集成开发环境(IDE)。到了2004年的Eclipse 3.0版本,该平台开始支持重用其组件来构建独立应用程序。这时,“Eclipse RCP”这个术语被提出,意指利用Eclipse...

    通信术语中英对照词典

    - **英文**: Not-in-position - **解释**: 表示某块电路板未正确安装到位或者未检测到该电路板的存在。 6. **(单板等)插入/拔出** - **中文**: 插入/拔出 - **英文**: Plug/Unplug - **解释**: 描述将单板或...

    Manning - Eclipse In Action

    《Eclipse in Action》是由Manning出版社出版的一本专业书籍,专注于探讨Eclipse集成开发环境(IDE)的使用和优化。这本书深入浅出地讲解了如何最大化利用Eclipse进行高效编程,涵盖了从基本操作到高级特性的广泛...

    [Gradle.Beyond.the.Basics(2013.7)].Tim.Berglund.文字版

    第一版出版时间为2013年7月。版权页还提供了联系出版社购买书籍、电子版访问方式以及错误反馈的信息。 #### 编辑团队 编辑团队包括Mike Loukides和Meghan Blanchette;生产编辑为Kara Ebrahim,同时也是校对者;...

    ASA-SSL配置指南

    3. **定义隧道策略**: 创建一个名为 SSL-TUNNEL 的Tunnel policy,并为其定义别名 TEST。 4. **配置认证**: 定义用户名和密码(例如:user/passwd:cisco),以允许用户登录 SSL-VPN。 5. **创建组策略**: 创建名为 ...

    Eclipse in Action

    1. **Eclipse概述**:Eclipse是一个开源的、跨平台的Java IDE,但通过插件可以支持多种编程语言,如C++, Python等。它提供了代码编辑、构建管理、调试、版本控制、单元测试等多种开发工具。 2. **工作区(Workspace...

Global site tag (gtag.js) - Google Analytics