Mylyn 2.1:重构 Eclipse 用户界面提高生产力

  • Ryan Slobojan
  • 胡键

2007 年 10 月 20 日

话题:Java语言 & 开发架构

Eclipse 3.3中集成的Eclipse插件,Mylyn,最近发布了 2.1 版。就本次发布以及 Mylyn 2.1 对基于 Eclipse 的开发所带来的改变,InfoQ 采访了 Mylyn 项目的领队Mik Kersten

Mylyn 2.0 的最大变化之一就是名字的变化——1.0 版是Mylar。Kersten 解释了名字改变的原因:

我们放弃了旧的名字。Mylyn 是作为我的博士论文实现而开始的,但是很快就发展到被大社区的大量用户采用,提交人数增加了,并开始接受成打的月度补丁。Eclipse 基金在它的所有项目的知识产权上确实花了大力气,这确保了它们能方便地被商业生态系统采用。因为商标的问题,Eclipse 基金不可能对我们老的“mylar”名字声明权力。我们已经被 CodeGear 的 JBuilder 重新分发(redistributed)了,作为一个 Eclipse 项目需要确保这样的厂商能给他们的用户群也能提供 Mylyn 的好处。通过 Eclipse 基金的支持,我们将名字改成一个更加独特的名字。这个新名字是向“髓磷脂”物质致敬,该物质通过使神经元更有效的传导电流来促进你的思考。我们已经听到使用者声称,Mylyn 工具将他们的效率提高到了他们觉得正在以思考的速度编码的地步。减少阻碍我们生产力的 UI 摩擦就是 Mylyn 项目全部的内容。

Mylyn 项目提供的主要特性如下:

  • 聚焦任务的用户界面(Task-Focused User Interface) —— 界面自动隐藏不属于当前任务的项目,跟踪给定任务的关联项目。
  • 任务仓库集成(Integration with Task Repositories) —— 从BugzillaJIRATrac以及其他几个提供者中抽取任务列表。
  • 富编辑和透明的离线工作(Rich editing and transparent offline work) —— 自动缓存任务变化,当重新联线之后自动同步。
  • 完全与 Eclipse 3.3 集成(Complete Eclipse 3.3 integration) —— 利用新的 Eclipse 3.3 工具,如普遍的超链接、基于编辑器的内容助手和窗体支持。

在其核心,Mylyn 是 Eclipse 用户界面的一个重构,它意在通过展示尽可能多的相关信息且又防止信息过多来提高生产力。InfoQ 查阅了一份详细讨论 Mylyn 特性和功能的两部分组成的文章(译注:中文版地址:12。),要求 Kersten 概述两个问题:安装 Mylyn 并使之运转要花多长时间,开发人员调整到 Mylyn 界面平均要花多长时间:

Mylyn 全部内容就是集成,这意味着我们支持范围广泛的工具。因为 Mylyn 对我们工作的方式提供了一个基本性的改变,我们也确定它增加的每个特性都是可选的且可增量采用的。这里有一个关于如何开始使用它的具体例子,假设你使用 JIRA 作为问题跟踪工具:

  • 用 Google 搜索“mylyn downloads”,获取适合你的 Eclipse 版本、问题跟踪工具(如 JIRA)和版本控制(如 SVN)的更新站点,然后使用 Eclipse 的更新管理器安装。
  • 注意,此时在 Eclipse 中有了一个任务列表。输入你的 JIRA 登录信息并点击验证设置。如果你得到了一条消息告知你必须打开 SOAP/RPC,那么通知系统管理员。
  • 在任务列表中(使用你在 JIRA 服务中保存的过滤器)创建一个查询,然后使用 Mylyn 的富任务编辑器开始工作。

完成这些工作应该不会超过 15 分钟(如果超过了,请报告一个 bug),现在你的任务在 Eclipse 中了,你拥有 Mylyn 任务仓库集成的全部好处,包括离线支持和个人计划。现在,将你的好奇心放到这个你已经听说的聚焦任务的 UI 上,然后通过 Mylyn 自带的速查表(Cheat Sheet)或其他文档中的提示,按以下步骤操作:

  • 通过弹出菜单激活任务。Mylyn 将管理 Eclipse UI 只给你显示与任务相关的元素和编辑器。任务激活是 Mylyn 给你的工作流增加的一个新步骤,当你完成它之后就会马上发现它的好处。
  • 浏览感兴趣的类,通过通常的工具如“打开类型(Open Type)”或使用 Alt+ 鼠标点击快捷方式,你可以在焦点视图内显示被过滤的元素。注意,只有你访问的元素才在你的视图中出现,你工作最多的那些元素会被加粗,那些你工作最少的元素会从视图中消失。滚动条和通常上千元素的过载信息此时在树形视图中消失了。
  • 了解新进问题,激活那个任务,并开始工作。你的工作区现在只显示新问题的相关事物。如果问题是由正在使用 Mylyn 的某人分配给你的,你将自动被提示检索他们已经共享的上下文,这样你可以在他们停下的地方开始工作。当你准备回退到最初问题,只要在你所在位置点击后退即可。只要你回退到先前工作的问题,Mylyn 的一键多任务的好处很快就能显现出来。

InfoQ 还询问了与 Mylyn 使用相关的最佳实践集合,Kersten 回答说,他的公司(Tasktop Technologies)为他们自己和客户的工作已经汇编了一份最佳实践清单。但是,他也说通用可行的最佳实践会倾向于直接融入 Mylyn,并且更多的特殊用法(usage-specific)特性(如邮件和日历集成)通过 Tasktop 对 Mylyn 的扩展被实现,它现在还是 beta 版。Kersten 还举例说明了编纂特殊用法的其它例子,他提到了TaskTop 和 Interface21 的合作伙伴关系来开发基于 Eclipse 和 Mylyn 的 Spring 工具套件、CollabNet 的Subversion 集成,和 Rally 的面向敏捷的 Mylyn 连接器

Mylyn 未来的计划包括用户界面简化和调优、改善驱动任务驱动用户界面的“关注程度(degree-of-interest)”模型,增加信息密度并易于使用。Kersten 也说道新发布会继续融入用户反馈,尤其是自从去年 12 月 Mylyn 1.0 发布以来,使用者社区已经呈数量级的增长。

查看英文原文:Mylyn 2.1: Refactoring the Eclipse User Interface to increase productivity

Java语言 & 开发架构