使用 Eclipse 帮助系统为项目编制文档

荣耀X16 Plus 2026深度评测:AI PC真实生产力落地指南 AI PC正从参数宣传走向场景落地,其核心在于将大模型能力嵌入真实工作流——不是追求本地运行GPT-5.5等未商用模型,而是通过YOYO智能体框架实现文案生成、代码编写、会议纪要等高频任务的秒级响应。依托英特尔酷睿Ultra 5处理器的能效优化、LPDDR5高带宽内存与PCIe 4.0 SSD的协同调度,该类设备在办公续航、静音控制与跨设备协同上形成技术闭环。典型应用场景覆盖小红书内容创作、前端开发调试、多端文件续传及视频双语字幕实时翻译,真正解决都市白领、研究生与自由职业者‘想做即得’的效率痛点。 阅读详情
构建易于使用且可搜索的帮助文档

级别:入门

Arthur Barr
软件工程师,IBM
2004 年 3 月

具有非常强大的 IDE 的 Eclipse 平台中有其自己的帮助系统,这个系统基于一个引用 HTML 文件的 XML 目录表。鲜为人知的是,您不必去编写 Eclipse 插件就可以使用它。任何项目都可以使用一个简化版的平台来提供专业的、易用的和可搜索的文档。这个文档系统已经成功地应用于许多 IBM 项目,包括像 WebSphere Application Server 那样大的项目。

当您访问 Eclipse 帮助系统时(通过 Help > Help Contents),您实际上启动了一个嵌入式的 Apache Tomcat 服务器。然后打开了一个基于 Web 浏览器的窗口,定位到服务器上适当的页(见图 1)。文档同时在左侧提供了一个可折叠的索引,右侧是 HTML 文档,随时可以进行搜索(幸好有 Apach Lucene 搜索引擎)。由于使用了 Tomcate,您不只可以用 HTML;例如,您可以用 JSP 来使您的文档能动态改变 (可是我们稍后将会讨论避免这样做的可能原因之一)。

图 1. Eclipse 帮助示例
Eclipse 帮助示例

文档插件的“Hello World”
文档被拆分为“书”,只要您愿意,在帮助系统的一个实例中可以有任意多的书。每本书都编写为一个 Eclipse 插件,不过好在这一步要做的工作很少。为编写一个示例插件,您将需要一个 plugin.xml 文件来描述您的插件,其内容类似于清单 1。

清单 1. 插件定义

<plugin name="Sample Documentation Plug-in" id="com.ibm.sample.doc"
   version="1.0.0" provider-name="IBM">
   <extension point="org.eclipse.help.toc">
      <toc file="toc.xml" primary="true" />
   </extension>
</plugin>

根据您的项目,将插件的nameidversionprovider-name 修改为适当的值。扩展点 org.eclipse.help.toc 将此标识为帮助系统的一个插件。toc.xml 文件被引用进来,作为这个插件的目录;这个文件将为 Eclipse 帮助窗口左侧窗格中的分级信息提供数据。清单 2 是一个包含有类似内容的示例文件。

清单 2. 目录定义
<toc label="Sample Documentation">
    <topic label="My Section" href="mySection.html">
        <topic label="Foo" href="foo.html"/>
        <topic label="Bar" href="bar.html"/>
    </topic>
</toc>

包装插件
在最终的文档中,每一个主题元素都表现为导航列表中的一个条目。这些主题可以嵌套(它们可以包含更多的主题),每一个指向一个 HTML 或者 JSP 文件。当您完成了这一步,所有您需要做的就是包装如图 2 所示的结构中的所有内容(注意,插件目录名与在 plugin.xml 中定义的插件属性 id 和 version 相匹配)。

图 2. 插件目录结构
插件目录结构

为了方便,也为了压缩文件的大小,Eclipse 允许您将实际的文件(HTML 文件)存放在一个名为 doc.zip 的 ZIP 文件中,所以您可以使用图 3 所示的目录结构。

图 3. 另一种插件目录结构
另一种插件目录结构

查看文档
测试您的插件的最简单方法就是,将整个目录(像上面的一样)拖入到已经安装 Eclipse 平台的插件目录下,然后启动 Eclipse 并选择 Help > Help Contents。您将得到一个添加了您的插件的帮助窗口(类似于 图 1 中那个)。

使用 IDE 来进行测试当然是好的,但是为了在没有 IDE 时也可以使用,文档需要更加易用,所以我们真正希望的是要后台运行一个进程,让我们可以在浏览器中连接它。这种方式的操作被称为 InfoCenter(见图 4)。启动 InfoCenter 进程(基本上是 Apache Tomcat)的指令包含在 Eclipse 帮助系统文档中(请参阅本文后面 参考资料 部分中的链接)。注意,还有一些指令用来简化 Eclipse 系统,以便刚好满足您的需要。

图 4. 运行的 InfoCenter
运行的 InfoCenter

处理庞大的目录
如果您的项目有多人参与工作,或者有大量的文档,那么更新单个目录文件 (toc.xml) 会变得不切实际。为改变这一状况您可以向主 toc.xml 文件中的主题添加一个 link 元素(见清单 3 的示例)。

清单 3. 目录定义

<toc label="Sample Documentation">
    <topic label="My Section" href="mySection.html">
        <topic label="Foo" href="foo.html"/>
        <topic label="Bar" href="bar.html">
            <link toc="bar-toc.xml" />
        </topic>
    </topic>
</toc>

bar-toc.xml 文件正是另一个目录,格式应该和任何其他的 toc.xml 文件完全相同。当文档被浏览时,使用这种方法和简单地直接包含另外的 topic 元素没什么不同。

生成独立的文档集
当然,如果您不介意需要发布 20 MB 额外的代码,使用 Eclipse 帮助系统当然好,但是这对小些的项目来说是不现实的。在中心服务器上安装一个 InfoCenter,让人们可以远程访问。人们可以充分利用 Eclipse 帮助系统的所有功能(比如搜索),但是那些不能连接的人还是束手无策。所以,除了使用在主机上的 InfoCenter 以外,有必要将普通的 HTML 包含在一个可下载的包中。只要您没有使用任何服务器端技术,比如 JSP,那么您可以方便地生成一个 HTML 目录来取代 Eclipse 所用的 XML 目录。这就是为什么我们要用 XSLT。

XSLT (eXtensible Stylesheet Language Transformations) 是一种将 XML 格式转化为其他格式的技术,例如 XHTML(一个更为严格的 XML 版本的 HTML)。XSLT 提供了丰富而强大的语言来完成转换,其本身就是很多书和文章的主题,所以我们在这里不再细述。清单 4 给出了一个 toc.xml 文件简单转换的例子,将条目呈现为嵌套的 HTML 列表。注意,这个特定的转换为全部文档集的内容创建了一个单独的 HTML 文件,文件量较大时这可能不实用。所以,如果您已经将您的目录拆分为多个文件,这个 XSLT 将失效。

清单 4. 生成 HTML 目录的示例 XSLT

<?xml version="1.0"?>
<xsl:stylesheet
   version="1.1"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="html" indent="no" encoding="ISO-8859-1" />

<xsl:template match="toc">
   <html>
      <head />
      <body>
         <h1><xsl:value-of select="@label" /></h1>
         <ul>
            <xsl:apply-templates />
         </ul>
      </body>
   </html>
</xsl:template>

<xsl:template match="topic">
   <li>
      <xsl:choose>
         <xsl:when test="@href">
            <!-- Only add a hyperlink when there is something to link to ->
            <xsl:element name="a">
               <xsl:attribute name="href">
                  <xsl:value-of select="@href" />
                  </xsl:attribute>
               <xsl:value-of select="@label" />
            </xsl:element>
         </xsl:when>
         <xsl:otherwise>
            <xsl:value-of select="@label" />
         </xsl:otherwise>
      </xsl:choose>

      <!-- If there are any nested topics, then start a new sub-list ->
      <xsl:if test="descendant::topic">
         <ul>
            <xsl:apply-templates/>
         </ul>
      </xsl:if>
   </li>
</xsl:template>

</xsl:stylesheet>

通过一个 XSLT 处理器,比如 Apache Xalan,使用前面的 XSLT 来处理 toc.xml 文件,生成一个在浏览器中查看时如图 5 所示的 HTML 文件:

图 5. 生成的 index.html
生成的 index.html

结束语
使用 Eclipse 帮助系统可以轻松开发出令您的朋友和同事大为惊奇的、具有专业外观的并且可搜索的文档。如果您不需要独立的文档集,那么您甚至不需要理会 XSLT;您只需要编写两个简单的 XML 文件就可以愉快地享用文档了。开始吧。

参考资料

 

关于作者
Arthur Barr 是英国 IBM Hursley 开发实验室的一名软件工程师。他已经将本文的心得应用到 Business Integration for Games 项目中,这应该是他当前正在致力的项目。可以通过 arthur.barr at uk.ibm.com 与 Arthur 联系。
Windows Server 2012 R2 虚拟机部署 Java Web 环境:JDK 8 + Tomcat 9 + MySQL 8 一键脚本与安全加固 本文详细介绍了在Windows Server 2012 R2虚拟机上部署Java Web环境的完整流程,包括JDK 8、Tomcat 9和MySQL 8的安装配置与安全加固。通过提供一键PowerShell脚本,帮助开发者快速搭建稳定的本地测试环境,同时强调系统优化和安全措施,确保环境既高效又安全。 阅读详情

相关推荐

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 742

制作eclipse样式的帮助系统

 eclipse自带的联机帮助非常强大,由Help/Help Contents打开.能全文检索,定义书签等等最近做的项目发布的时候要做个比较友好的帮助系统,就想到了用eclipse完成,下面简单介绍一点经验一.原理    eclipse的联机帮助其实是一个小型的B/S系统,我们点Help/Help Contents的时候,eclipse就在后台启动一个Tomcat+Lucence,而我

飞天御剑流 1957

LeRobot X-VLA:首个适用于任意机器人、任意任务的软提示机器人基础模型

X-VLA是一种基于软提示的视觉-语言-动作模型,通过可学习嵌入向量编码不同机器人配置,实现跨平台统一控制。该框架采用两阶段训练:先在29万次多平台任务中学习通用策略,再通过微调少量参数(仅1%)适配新机器人。实验表明,0.9B参数的X-VLA在6个仿真和3个真实平台上表现优异,如LIBERO任务达93%成功率,布料折叠任务100%完成。其核心创新是将硬件差异视为"任务",用软提示引导Transformer处理异构数据,为机器人基础模型提供可扩展方案。

2506_90492529的博客 1192

使用Eclipse帮助系统记录项目

当您访问Eclipse帮助系统时(通过Help> Help Contents ),实际上是在启动嵌入式Apache Tomcat服务器。 然后将打开一个基于Web浏览器的窗口,指向该服务器上的正确页面(请参见图1)。 文档的左侧提供了可折叠索引,右侧提供了HTML文档,并且可以进行搜索(由于使用了Apache Lucene搜索引擎)。 由于使用了Tomcat,因此您不仅限于HTML。 例...

cuxiong8996的博客 264

为RCP添加帮助系统

一款软件,如果希望用户能够快速的上手,完善的帮助系统必不可少。帮助中要包含操作指南,相关的疑难解答,软件的配置,维护等信息。优秀的文档可以节省用户的时间精力,也为维护人员省去了不少麻烦。Eclipse帮助系统可以说是十分优秀,功能全面,界面美观,操作便利,而且和Eclipse IDE结合的十分紧密,用户在任何时候都可以通过F1来体会这一点。在RCP中,也可以利用Eclipse Help

moneyice的专栏 4796

Eclipse Help

在RCP中,也可以利用Eclipse Help构建自己的帮助系统Eclipse 帮助系统包括静态,动态和上下文敏感的帮助,这些都可以应用到RCP中。 在RCP中,加入帮助,也是通过plugin,如果要帮助要依赖于指定的plugin,也可以做成fragment的形式,这里是以plugin的形式。 要实现完整的帮助功能,需要在plugin.xml 依赖中添加以下插件: 添加插件 1.&amp;amp;nbsp;&amp;amp;n...

thankyou2008_的专栏 748

Eclipse的toc扩展点

一、           toc扩展点概述       使用org.eclipse.help.toc扩展点可以为RCP项目嵌入html帮助文档。当用户点击help时,eclipse会启动一个嵌入的apache tomcat服务器,因此用户可以在其中浏览html格式的帮助文档。       使用toc扩展点的插件需要依赖org.eclipse.help插件。 二、           toc文

abcdnned的专栏 837

15-11-16 Eclipse 操作菜单汉译之 Help [帮助]

Welcome     欢迎 Help Contents     帮助内容 Search         搜索 Dynamic Help     动态帮助 Key Assist          主要协助 Tips and Tricks   提示和技巧 Cheat Sheets      备忘单 Check for Updates     检查更新 Install New So

牧渔的博客 1138

Eclipse Help 中如何组织 Java API 参考文档

本文介绍了生成易用且可供搜索的 Java 应用程序编程接口(Java application programming interfaces,API)的参考文档的不同方法。背景

cool_rain_man的专栏 2373

Eclipse设置、调优、使用

[b][color=red][size=medium]eclipse调优[/size][/color][/b] 一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善。 [b]加快启动速度[/b] 1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让ecli...

iteye_20037的博客 2339

eclipse操作指南

1.eclipse是一个免费开源的绿色版IDE,可以帮助开发人员快速开发和定位问题 下载地址https://www.eclipse.org 2.eclipse用来开发JavaWeb项目的是Eclipse IDE for Enterprise Java Developers版本(也可以开发插件) 下载地址https://www.eclipse.org/downloads/packages/...

svygh123的专栏 376

2013第51周二eclipse启动优化

2013第51周二eclipse启动优化今天注意到了eclipse.ini配置文件中gc.log——在eclipse启动时清空,然后记录了eclipse每次运行过程中的gc分配情况,看到了一篇很好的eclipse启动调优文章:减少jvm内存回收引起的eclipse卡的问题这个主要是jvm在client模式,进行内存回收时,会停下所有的其它工作,带回收完毕才去执行其它任务,在这期间eclipse就卡...

weixin_34087307的博客 252

eclipse优化:最详细

字体需要修改 tomcat配置 jdk配置 选中文件,快速打开文件位置 eclipse优化 文件默认打开方式设置 每个字母自动提示 checkstyle设置 tomcat内存分配 配置项目热部署       General &gt; Startup and Shutdown : 移除所有在启动时加载的插件。 General &gt; Editors &gt; Text...

chinaxiaofeng8的专栏 1万+

Eclipse Help插件开发

一、建立工程 1、File->New->Other->Plugin-in Project填写工程名:com.eclipse.Help得到如下界面 2、next,选择Rich Client Application 为No 3、点击Finish,就完成了一个插件工程的建立,如下图所示 二、编辑插件 1、选中MANIFEST.MF->extent

1546

为自己的RCP程序添加帮助内容(Help Contents)

 为自己的RCP程序添加帮助内容(Help Contents)支持,英文版是显示在Help菜单中的Help Contents菜单项。 1. 添加Help Contents菜单项,在ApplicationActionBarAdvisor类中添加。声明部分和其他Action一样不讲了。(不明白的可以单独联系我或搜索)helpContentsAction = ActionFactory.HELP

fy_kenny的专栏 1923

如何制作已编译的HTML帮助文件(即CHM帮助文件)

HTML帮助文档从结构上来看可分为两个部分,运行器和文档内容。它的一个好处是能使帮助文档跨平台运行,只要有不同平台上的运行器和浏览器,帮助文档不再需要重新编制,制作HTML帮助文档的工具是Html help Workshop工具包。 方法: 1、安装好Html Help Workshop,需要重新启动一次才可以运行。运行后,单击菜单或工具栏中的“新建(New)”,这时出现选择新建内容的对话...

weixin_33806300的博客 790

ARM_DS5_v5_armds-5crack_armds-5_ARMDS5_ARM_DS5_v5.27.0x64_full.z

ARM_DS5_v5_armds-5crack_armds-5_ARMDS5_ARM_DS5_v5.27.0x64_full.z

上一篇: (转)使用 Eclipse 平台进行调试
下一篇: 使用Eclipse开发J2EE应用
yukikaze
博客等级 码龄23年 6粉丝 5原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值