現(xiàn)在,在 2.0 版中,Mylyn(以前稱為 Mylar)通過將任務無縫集成到 Eclipse 中并在工作時自動管理任務上下文,提高了效率。Mylyn 項目主管 Mik Kersten 更新了他撰寫的分兩部分的 Mylyn 使用指南。第 1 部分 介紹 Mylyn 的任務管理功能和它與 Bugzilla 之類的儲存庫的集成。本文為第 2 部分,解釋當在 Eclipse 中處理大型應用程序時,Mylyn 的上下文管理功能如何簡化多任務處理以及如何減少信息超載。
在 本文的前半部分 中,我解釋了 Mylyn 的任務管理功能如何輕松地聚焦與給定工作日或工作周相關的任務。一旦任務成為您的 Eclipse 體驗中的集成部分,您很可能會注意到許多重復性行為都是以所處理的任務的上下文 為中心的。多任務處理是當今知識工作中很普遍的一部分,它常常需要創(chuàng)建和重新創(chuàng)建與當前任務相關的上下文。任務的上下文是指在處理任務時需要引用的所有文件、搜索結(jié)果和其它相關信息。例如,在編程時,可能只想看到與正在修復的 bug 相關的 Java™ 元素。當完成修復時,您可能希望以獨立于當天處理的其它任務的方式提交這些更改。或者,希望通過只運行與對任務作出的更改相關的測試來節(jié)省時間。
![]() |
|
正如 Mylyn 可以幫助您聚焦工作周所包含的任務一樣,它可以使 Eclipse 工作區(qū)聚焦與當前任務相關的工件上。安裝 Mylyn 的 Task-Focused UI 之后,只需指出活動的任務,您所使用的所有文件都將自動添加到該任務的上下文中。管理上下文是為了精確地表示出對所從事的各種工件的聚焦程度,即使對長期運行的任務也是如此。當切換任務時,上下文將被保存,這使您可以通過一次單擊進行多任務處理,并且輕松地與其他人共享特定于任務的知識。
本文解釋了 Mylar 如何無縫地將其置于 Eclipse UI 之上來凸現(xiàn)編程任務的上下文。本文首先解釋 Mylyn 管理上下文的機制,然后介紹興趣修飾、視圖過濾、編輯器管理和上下文驅(qū)動的單元測試套件等 UI 工具。在文章的最后,展示了如何綜合運用 Mylar 的任務管理和上下文管理來協(xié)助團隊協(xié)作。
圖 1 中的編號區(qū)域顯示了 Mylyn 的一些上下文管理功能:
- 單擊 Focus on Active Task 按鈕可以使 Eclipse Package Explorer 只顯示活動任務的上下文中的元素。
- 可以通過 Task List 切換活動任務。
- 切換后,Eclipse 視圖和編輯器將聚焦于新激活的任務的上下文。
- 更改集將被自動管理,以反映任務上下文中的更改。
- 折疊功能和上下文可以幫助視圖聚焦相關的元素。
圖 1. 將 Eclipse 聚焦于任務上下文

單擊 這里 查看全圖。
設想一下,假設您正在將更改封裝到新功能里,來應對迫近的代碼凍結(jié)期限。在工作中,創(chuàng)建此功能時,構建了關于所有修改過的類和方法以及所有訪問過的 API 的頗有價值的知識。由于在使用 Mylar,這個知識會自動地在任務上下文中獲取到。任務要完成時,卻出現(xiàn)了一個嚴重的 bug,需要立即給予注意。
您通過單擊激活 bug 報告,并開始調(diào)查該問題。在 Mylar 的富任務編輯器中瀏覽該 bug 加了超鏈接的堆棧跟蹤,新的任務上下文被探查和診斷結(jié)果所填充。當單擊 Mylyn 的自動化 Context Test Suite(該套件運行與已創(chuàng)建的任務上下文結(jié)構相關的單元測試)時,您發(fā)現(xiàn)這個 bug 位于一個同事的代碼中,而不在您的代碼中。由于 Mylyn 提供了對任務的修改歷史的鏈接,您可以立即查看該同事的任務,它對應于出現(xiàn)問題的更改。通過再一次單擊,將該 bug 再分配給同事并共享由您的診斷得出的任務上下文。完成這些都未離開 Eclipse,所以通過單擊 Task List 的 Back 按鈕可以立即回到之前任務的上下文。同時,您的同事也恰在您停止的地方拾起該 bug 報告。這只是程序員使用 Task-Focused UI 輕松工作和協(xié)作的場景之一。
![]() |
|
接下來的小節(jié)展示如何利用 Mylyn 的上下文管理功能以任務為中心的方式工作。雖然這里的例子基于 Java 開發(fā),但其中的概念和大多數(shù)特性同樣適用于可能使用的任何基于文件的工件。(請參閱 支持的工具,了解更多細節(jié)。)
Mylyn 中的任務上下文管理基于這樣的思想:開發(fā)人員與系統(tǒng)的交互可以轉(zhuǎn)換為一個興趣等級(degree-of-interest)模型,在該模型中,系統(tǒng)中的每個元素都根據(jù)其與手頭任務的興趣等級來衡量其權重。這種相關度加權形成了與任務相關的所有元素的上下文。然后,就可以通過突出最重要的元素、過濾無關緊要的元素以及允許在感興趣的元素上執(zhí)行操作(例如,只提交相關更改)來使任務上下文聚焦于 UI。任務上下文是在您工作時以一種可預測的方式構建的:當您激活一個任務時,您選擇或編輯的每個元素 —— 例如文件或 Java 方法 —— 就成為任務上下文的一部分。和元素交互越多,該元素相對于任務的興趣等級就越高。如果一個元素的興趣級別足夠高,那么它就成為一個里程碑(landmark),這是一個隱式創(chuàng)建的書簽。每一次交互也導致組成任務的所有元素已積累的興趣逐漸衰減,這樣興趣元素的集合就會同當前的興趣相匹配,而不會無限制的擴張下去。
使任務上下文模型簡單易用的關鍵特征是它具有可預測性并且一目了然:您期望看到的內(nèi)容就顯示在眼前,每當您開始處理一個元素時,就立即可以看到該元素填充了上下文。還可以直接操縱元素的興趣等級,或者使元素變得不相關,或者顯式地將元素標記為里程碑。換句話說,您已經(jīng)熟悉的 bookmark/starring/tagging UI 沒有任何損失。但是,一旦您習慣使用 Mylyn,您很可能會發(fā)現(xiàn)自己對那些手動管理任務上下文的機制的依賴性大大減少。
Mylyn 的上下文管理功能使用傳統(tǒng)的 Eclipse 視圖以一種新的方式來凸現(xiàn)信息。您只需通過一次單擊激活任務,就可以使 Eclipse UI 聚焦于那個任務。然后,您與之交互的每個元素都成為任務上下文的一部分。Mylar 興趣修飾器隨后使用字體著色來高亮顯示每個元素從交互中積累的興趣等級。非興趣元素以灰色顯示,興趣元素以黑色顯示,里程碑為粗體。
盡管只高亮顯示在減少信息過載方面有其局限性,但它還是一直應用于所有能看到諸如 Java 成員和文件等元素的視圖中。這便于您在查看一長串的元素時快速挑選任務上下文中的元素。例如,當查看搜索結(jié)果時,可以立即發(fā)現(xiàn)最感興趣的元素,因為它們以粗體修飾為里程碑形式(參見 圖 2)。
僅僅使用修飾還不足以減少包含幾十萬個文件的大型工作區(qū)中的信息超載。一些結(jié)構化視圖,例如 Eclipse 的 Project Explorer,在瀏覽大型層次結(jié)構內(nèi)容方面已變得令人難以置信的高效。超載問題與那些視圖無關,而應該歸因于開發(fā)人員使用的巨大的信息系統(tǒng)并不匹配與任何給定編程任務相關的相對較少的信息。對于這種不匹配,最明顯的表現(xiàn)是,大量時間浪費在反復滾動以及展開/折疊龐大的樹視圖以查找完成工作所需的信息。
![]() |
|
Mylyn 的目標是消除所有不需要的滾動和單擊操作。為此, Task-Focused UI 提供基于興趣的過濾和結(jié)構化視圖管理。通過 Focus on Active Task 按鈕激活后,這些功能可以過濾掉所有不感興趣的元素,從而將相應的視圖聚焦于活動任務的上下文。例如,聚焦模式確保 Package Explorer 只顯示您正在處理的內(nèi)容:屬于任務的一部分的所有源文件、庫文件和方法。除了過濾外,當應用聚焦時,Mylyn 還自動維護樹視圖的展開狀態(tài),所以您不需要手動地展開和折疊樹節(jié)點就能看到感興趣的元素。
開始在視圖上使用聚焦模式后,您將注意到興趣模型如何隨著工作而演進。一個元素的被選中次數(shù)越多,元素的興趣等級就越高,直到它變?yōu)榇煮w的里程碑。低興趣的元素(如只選過一次的搜索命中結(jié)果)將在興趣等級中衰減并從過濾過的視圖中消失,這確保該視圖不會被非興趣元素所脹滿。由于任務上下文在一種可預見的模式下被積極地管理,上下文只包括了有興趣等級的元素,即使在長期運行的任務中也是如此。盡管設計 Mylar 的任務上下文模型是為了能夠一直反映當前與任務相關的東西,但也可以手動地增加或減少元素的興趣等級(例如,通過使用元素的上下文菜單行為或使用快捷鍵 Ctrl+Alt+Shift+ 向上/向下的箭頭)。
![]() ![]() |
![]()
|
在深入探討 Mylyn 提供的用于支持 Java 開發(fā)的高級集成之前,您需要大體了解在處理純文本文件時,Task-Focused UI 對 Eclipse 工作區(qū)的關鍵貢獻。圖 2 演示了這些關鍵概念:
- 在左側(cè),Project Explorer 視圖聚焦于活動任務,它只顯示感興趣的文件,并高亮顯示里程碑。在這里,可以使用 Alt+Click 機制臨時顯示一個名為 presentations 的目錄中的所有文件,以便選擇其它感興趣的文件。
- 在右側(cè),Task List 顯示一個活動任務。當該任務停止活動時,Package Explorer 視圖上的焦點被關閉,當前打開的所有文件被關閉。如果一個新的任務被激活,則重新應用焦點,用于處理那個任務的所有打開的編輯器立即恢復。
圖 2. 以任務為中心的工作區(qū)

本文后面的內(nèi)容以 Java 開發(fā)為例,較詳細地闡述如何以以任務為中心的方式工作。但是,任務激活、視圖聚焦和編輯器管理等概念是使用 Mylyn 的最值得注意的關鍵方面。您只需理解任務激活的概念,就可以開始使用以任務為中心的方式工作。這種小但重要的工作方式的改變會立即使您獲益:當您切換任務時,您在工作中建立起來的所有有價值的上下文不再會丟失。
![]() |
|
將 Mylyn 用于 Java 編程的開發(fā)人員常常使 Package Explorer 處于聚焦模式。因此,默認情況下,當激活一個任務時,Focus on Active Task 按鈕自動打開,當將一個任務變?yōu)椴换顒訒r,該按鈕自動關閉。當該功能打開時,只能看到上下文中的 Java 元素。當選擇一個 Java 類時,不管是通過瀏覽還是通過常用的 Open Type 機制(Ctrl+Shift+T),這種類型就成為上下文的一部分,并顯示在過濾后的 Package Explorer 中。您選擇和編輯的每個方法都被添加到任務上下文中,因此會顯示在 Package Explorer 中。圖 3 顯示聚焦模式下的 Package Explorer。注意 Package Explorer 和 Debug 視圖中 Java 元素的基于興趣的修飾和活動過濾。
圖 3. 使 Java 元素視圖聚焦于任務上下文

當視圖在聚焦模式時,Eclipse 用于打開元素的工具運行良好(使用 Ctrl+Shift+T 打開一個類型,使用 Ctrl+Shift+R 打開一項資源,Ctrl+O 用于就地打開大綱,Ctrl+T 用于就地打開層次結(jié)構)。為使在 Open Type 對話框中選擇類型更加簡單,感興趣的類型被自動放在列表的最上面。當切換任務時,列表中包含新任務感興趣的類型。當沒有活動任務時,該列表恢復為最近使用類型的 Eclipse 全局列表。
如果使用 Java Browsing 透視圖,請使用窗口的工具欄按鈕,通過單擊將三種 Java 元素視圖設為聚焦模式,而不必逐個聚焦每個視圖。
![]() |
|
Eclipse 成熟的 Java 編輯器使您可以在編輯器中處理大多數(shù)結(jié)構導航。此外,Mylyn 還提供了自動折疊和內(nèi)容輔助排序,以幫助 Java 編輯器聚焦與當前任務相關的元素。如果打開窗口工具欄中 Mylyn 的 Automatically Fold Uninteresting Elements 按鈕,那么在編輯器中只有感興趣的元素被展開。這可以增加編輯器的信息密度,并且更易于導航大型文件中的聲明,而不必打開 Outline 視圖。當選擇一個元素時,它立即成為任務上下文的一部分,并且被展開。注意,在圖 4 中,大多數(shù)元素都是折疊的,因為它們沒有被選擇或編輯過;同時,活動元素是打開的,左邊的編輯器裝訂線提示它是一個里程碑:
圖 4. 自動折疊和內(nèi)容輔助排序

與視圖中的過濾相似,Mylyn 還根據(jù)興趣等級對 Java 內(nèi)容輔助建議進行排序。在興趣分隔符下的所有條目都使用 Java Development Tools 的標準排序試探法進行排序。這意味著,只需按幾次向下箭頭鍵就可以選擇感興趣的建議。如果在選擇建議前開始輸入,該列表會恢復為典型排序。還應注意到,在圖 4 中,諸如 getTask()
等感興趣的方法在編輯器中也是展開的。公開元素興趣等級的各種機制間的一致性有助于 Focused UI 變得可預見且易于使用。
Mylar 也使用任務上下文來動態(tài)地管理和任務相關的打開編輯器的數(shù)目。當文件中的元素從興趣等級中衰減,該編輯器會自動關閉。當停用一個任務時,它所有的編輯器都會關閉,任務激活時重新打開。減少元素的興趣等級會關閉其編輯器,且反之亦然,關閉一個文件也會減少其興趣等級。這可能需要一點時間才能適應,但是這意味著您不再需要自己管理打開的編輯器的狀態(tài),并且打開的編輯器的數(shù)量也不至于太多。確保所有打開的編輯器與感興趣的元素相對應,這還使您可以使用 Eclipse 的編輯器導航功能在感興趣的文件之間導航。例如,如果 Package Explorer 之類的導航視圖不可見,可以使用 Ctrl+E 和 Ctrl+F6 方便地在編輯器之間切換。
同樣,Mylar 也能通過恢復上次完成一項任務時激活的透視圖(通過單擊 Window > Preferences > Mylyn > Context 啟用)來管理 Eclipse 的透視圖。當不同的任務對應于 Eclipse 提供的不同視圖(例如,有些任務對應于 Java 開發(fā),有些任務對應于 PHP 開發(fā))時,這一點很有用。當使用 Mylyn 的 Planning 透視圖時,該功能特別管用。如果在沒有活動任務時切換到 Planning 透視圖,那么當停止要處理的下一個任務時,就會自動切換到那個透視圖。使用 Planning 透視圖可以更容易地發(fā)現(xiàn)接下來要處理哪個任務,因為這個透視圖會將任務編輯器和 Task List 的區(qū)域最大化。
Mylyn 的聚焦功能可以應用于所有在 Eclipse SDK 中顯示上下文的視圖:Package Explorer、Navigator、Project Explorer、Outline、Problems、Tasks、Debug、Packages、Types 和 Members。任何樹視圖的聚焦模式,如 Project Explorer 都添加了興趣修飾、過濾和展開管理。在聚焦模式下,列表視圖,例如 Problems,也會按照興趣等級分類。由于這種通用的支持,即使定制的橋接器不支持您的工具(見 支持的工具),仍然可以將 Mylyn 用于非 Java 項目,例如 PHP 開發(fā)。本節(jié)簡要地概述如何將 Mylyn 用于使用其它語言和工具的編程。要了解更多信息,請訪問 參考資料 中的 Mylyn Extensions 鏈接。
例如,考慮使用 Ant 和 PDE 開發(fā)一個應用程序。在這個場景中,Eclipse 工作區(qū)看上去和圖 5 類似,其中有多個視圖被打開,并顯示上下文:
圖 5. 使通用 IDE 視圖聚焦于任務上下文

![]() |
|
注意,圖 5 中的 Project Explorer 視圖只顯示任務上下文中的文件,這里包括一些圖像和 XML 文件。打開的文件是 build.xml,該文件由數(shù)十個 Ant 聲明組成。在 Outline 視圖中,只能看到您正在處理的聲明,而不是許多不感興趣的聲明。Problems 視圖也聚焦于活動任務,只能看到感興趣的東西(如所有的錯誤及警告或任務上下文中其他的元素標記),而不是被數(shù)百條無關的警告堆滿而超載。最后,Eclipse Tasks 視圖也處于聚焦模式,因而將只看到與任務上下文相關的標記,而不會看到數(shù)百條不會立即去做的 to-do 標記。
在以任務為中心的方式下編程更易于頻繁運行單元測試。通常來說,單元測試實踐讓您為一個或多個當前正在從事的枯燥測試創(chuàng)建一個新的測試啟動程序。其他的測試方案是:在一個項目上運行所有測試,這會錯過一些相關測試;或運行一整套測試,這很慢。為解決這些問題,Mylar 在任務上下文中自動維護了元素的單元測試套件 —— 稱為 Context Test Suite(見圖 6)—— 并在操作任務時使重復運行測試變得很簡單(用快捷鍵 F11):
圖 6. Context Test Suites

要啟用該特性,為 JUnit Plug-in 測試或普通 JUnit 測試創(chuàng)建一個 Context Test Suite。Context Test Suite 被自動更新,以包括當前活動上下文中的所有測試用例。
![]() ![]() |
![]()
|
協(xié)作性工具都是關于共享信息的,任務上下文能聚焦于該信息而阻止信息超載和分散。開發(fā)人員不斷來回發(fā)送電子郵件、即時消息及文件,來交換執(zhí)行日常任務所需的必要消息。盡管 Mylar 仍沒有排除對即時消息或電子郵件的需要,但它能夠通過將它們鎖定在任務周圍來簡化一些協(xié)作活動。由于任務定義了清晰、易于理解的工作單元,且任務上下文定義了與工作相關的信息,所以用單擊來共享任務上下文的功能能夠減少協(xié)作通信負擔。
在 第 1 部分 中,我演示了 Mylyn 的任務管理如何將基于 Web 的儲存庫(如 Bugzilla)集成起來,從而提供了您期待從電子郵件客戶機中得到的那種協(xié)作集成程度和響應程度。這一節(jié)則解釋 Mylar 對跟蹤更改集和任務活動的自動支持(聯(lián)合了對上下文共享的支持)是如何進一步便利了團隊工作及獲取專門技術的。通常,您可以根據(jù)需要以及 Mylar 同源文件及任務存儲庫集成的程度挑選要使用的功能。
![]() |
|
更改集 是一項用于對資源分組的內(nèi)置的 Eclipse 工具,可以在 Synchronize 視圖中對其進行操作,以提交、更新或創(chuàng)建補丁。除非在一個靜態(tài)的項目中工作,否則手動管理更改集常常得不償失。Mylar 通過自動管理更改集便利了對源存儲庫的操作。一旦激活一項任務,該任務的更改集即被添加,并隨后顯示在 Synchronize 視圖(見圖 7)中。操作該任務時做出的更改被添加到該更改集中。可以使用位于視圖的 Change Set 節(jié)點的上下文菜單來覆蓋、提交或創(chuàng)建一個補丁。由團隊成員做出的更改按照任務分組顯示,可以通過右鍵單擊一個引入的更改集來打開相應的任務。如果有了更改,但任務停用,更改集不變,使您可以同時操作多項傳出更改。Mylar 確保在上下文和更改集之間的一對一映射,所以如果將一份文件手動地添加到更改集中(通過 Synchronize 視圖中的上下文菜單),該文件也會被添加到上下文中。當前支持的源存儲庫是 CVS 和 Subversion(包括 Subclipse 和 Subversive)。
圖 7. 更改集管理并將其映射到任務

![]() |
|
盡管一開始效果也許不明顯,Mylar 使用上下文將任務和資源綁到一起的方法將對您工作的方式產(chǎn)生根本性影響。例如,對于 Mylar 項目本身,不需要編寫提交消息,因為它們是由 Mylar 的更改集集成(使用 Window > Preferences > Mylyn > Team 頁面編輯用于生成自動提交消息的模板)自動生成的。這使我們能夠通過單擊從 History 視圖導航至與修訂相對應的任務,這節(jié)省了跟蹤更改及修訂至原始任務的時間。相反地,這也使得可以通過 CVS 日志查詢所有針對一個特定任務更改過的文件。這個功能與 Eclipse 用于顯示 Team Annotations 的功能和 Mylyn 的普通超鏈接(見圖 8)相結(jié)合,意味著您將大量減少花費在查找與一個更改相關的 bug 或任務上的時間,因為通常只需一次單擊即可完成。(注意,為了在彈出的文本編輯器中顯示超鏈接,必須按下 Ctrl 鍵,如果要將彈出窗口放在最前面,需要按 F2 鍵)。
圖 8. 超鏈接和團隊注釋

任務上下文獲取執(zhí)行任務時創(chuàng)建的知識。重新激活一個任務會立即將您帶回到該任務的上下文,而不是迫使您恢復與該任務相關的那部分系統(tǒng)。如果半途將任務移交給團隊成員,任務上下文會為他或她提供一個起點。由于上下文是從交互中創(chuàng)建的,而不僅從更改中創(chuàng)建,每個任務上下文都包含了相關信息,如處理該任務時訪問過的 API 以及引用過的文檔。為支持這個及類似的協(xié)作場景(如結(jié)對編程),上下文能被輕易地共享。可以通過 Task List(如圖 9)中的上下文菜單或通過單擊任務編輯器中相應的復選框來激活上下文共享:
圖 9. 通過任務附件進行上下文共享

當使用支持附件的任務存儲庫連接器時,可以將任務上下文附加在 bug 報告中來輕易地實現(xiàn)共享。當獲取一個共享上下文時,可以從所有可用的上下文中選擇(如果當前有多個上下文的話)。例如,在 Mylar 項目中,我們將上下文附在每一個解決了的 bug 報告中,并且要求每一個貢獻的補丁都要附上上下文。這種通過上下文共享專門技術的方法使應用補丁、與團隊成員協(xié)作處理 bug 報告、在結(jié)對編程會話結(jié)束后清理代碼變得更加簡單。所有已解決的 bug 都存儲了一個上下文,這一事實意味著只要 bug 被重新打開或類似的錯誤發(fā)生,我們都能立即恢復并使用過去的技術。
![]() ![]() |
![]()
|
![]() |
|
在這個由兩部分組成的文章中,我介紹了如何用 Mylar 進行以任務為中心的編程。我展示了 Mylar 是如何通過將任務作為 Eclipse 中頭等重要的部分對待而讓您日常的工作變得相當?shù)睾唵巍N乙步榻B了 Mylar 如何使用 Eclipse 視圖來幫助您聚焦于手邊的任務,并為個人及團隊的使用凸現(xiàn)這些任務的上下文。
Mylar 背后的哲學是少就是多。它將集成的任務管理和自動上下文管理工具結(jié)合使用,使您能夠在不丟失上下文的情況下進行多任務處理,并確保您只需要查看感興趣的信息。一個針對于將 Mylar 用于日常工作的業(yè)內(nèi)開發(fā)人員所做的現(xiàn)場用戶的研究已經(jīng)驗證了 Mylar 的任務上下文模型(參見 參考資料)。根據(jù)統(tǒng)計,這些用戶的生產(chǎn)率有了顯著的提高。而且,由于進行了數(shù)千個 bug/增強報告,Mylyn 2.0 很快成熟起來,滿足其快速增長的用戶社區(qū)的需要。自從在 2004 年 8 月創(chuàng)建 0.1 原型以來,我一直將 Mylyn 用于我的所有工作。和很多其它 Mylyn 用戶一樣,我已經(jīng)無法想象還要手動尋找并識別工作中的相關信息的情景了。我完全依賴 Mylyn 來管理工作中的大量以任務為中心的交互和多任務處理。
如果 Mylar 支持您的任務存儲庫,它能使您的日常工作變得更加簡單、更加有效且更加專注。如果它不支持您的任務存儲庫,您可以試著用它來完成個人任務。不管何種情況,都請使用 Bugzilla 集成來給出回饋并為您愿意看到被支持的其他連接器投票。(參見 參考資料)。您的貢獻將幫助我們進一步改進 Mylyn,因為它將持續(xù)圍繞嚴密的回饋機制快速發(fā)展,該工具本身允許我們通過用戶社區(qū)建立這種回饋機制。其他 Mylyn 提交者和我一樣,都期待收到您的回饋。
![]() |
|
Mylyn 能獲得成功并且走到現(xiàn)在,很大程度上得益于大量的用戶參與,他/她們報告 bug 并貢獻補丁。正是這種協(xié)作讓 Mylar 從一個研究原型發(fā)展成為了 Eclipse 用戶在日常工作中所依賴的一個重要部分。
Athen O'Shea、Robert Elves、Gail Murphy 和 Ducky Sherwood 對本文提供了有幫助的回饋。