功能

識別碼:org.eclipse.ui.capabilities

說明:這個延伸點用來登錄專案功能延伸項目。 功能是 UI 等同於 CORE 的專案本質,而且與專案本質有著一對一的關係。 工作台容許使用者在任何時間使用內容對話框或新建專案精靈從專案中新增和移除功能。

功能代表專案的特定能力。例如,專案可能有 "Java" 功能,讓專案的 *.java 檔案可使用 Java 編譯程式編譯。 如果專案的角色隨著時間改變,可以修改專案的功能來符合新的需求。例如,剛開始時專案可能是一個簡單的 Java 功能,但是一陣子後可能有新的需求增加要使用 JNI 為了某些舊式程式庫。 然後使用者可能新增 "C++" 功能(如果有一個存在的話)至專案以符合這個新需求。

某些功能可能希望處理其他功能的使用者介面。這通常發生在當功能需要許多其他的功能時(請注意必備項目資訊由 org.eclipse.core.resources.natures 延伸點中衍生出)。例如,"Web" 功能需要 "Java" 功能來 編譯 Servlet,但是可能想要呈現更簡單的頁面來配置 "Java" 功能,或者不呈現任何關於 "Java" 功能的頁面,而只是使用適當的預設值來新增它。

功能安裝精靈負責由使用者處收集必要的資訊,為了新增它的本質以及它所處理的 UI 的功能本質。安裝精靈必須處理某些或所有已安裝和配置的必要的功能狀況。

解除安裝精靈的功能是負責從使用者處收集必要的資訊為了移除它的本質。 也必須從功能處移除任何使用者要移除的功能以及所處理的 UI 和其他本質。這些使用者要移除的其他功能將在 init 方法中提供。

功能能夠指定使用者在新增至專案時可切換到哪個視景。 這容許使用者探索新的視景,能夠從新功能中獲得好處。處理其他功能使用者介面的功能也控制了這些功能視景的清單。 例如,"Web" 功能處理 "Java" 功能所需的使用者介面。"Web" 功能可選取來併入多種 Java 視景,或不要。

由一個外掛程式定義的種類,可由其他外掛程式所使用的 category 屬性來參照。

請注意呈現給使用者的功能名稱來自 org.eclipse.core.resources.natures 延伸點的延伸項目元素的屬性 "name"。

從: 版次 2.0

配置標記:

   <!ELEMENT category EMPTY>
   <!ATTLIST category
      id             CDATA #REQUIRED
      name           CDATA #REQUIRED
   >

   <!ELEMENT capability (handleUI)* (perspectiveChoice)*>
   <!ATTLIST capability
      id                 CDATA #REQUIRED
      natureId           CDATA #REQUIRED
      category           CDATA #OPTIONAL
      icon               CDATA #OPTIONAL
      installWizard      CDATA #REQUIRED
      installDetails     CDATA #OPTIONAL
      uninstallWizard    CDATA #IMPLIED
      uninstallDetails   CDATA #IMPLIED
      description        CDATA #OPTIONAL
   >    <!ELEMENT handleUI EMPTY>
   <!ATTLIST handleUI
      id  CDATA #REQUIRED
   >    <!ELEMENT perspectiveChoice EMPTY>
   <!ATTLIST perspectiveChoice
      id  CDATA #REQUIRED
   > 範例:

下列是功能配置範例:

   <extension point="org.eclipse.ui.capabilities">
      <category
        id="com.xyz.weather"
        name="Weather Elements">
      </category>
      <capability
          id="com.xyz.snowCapability"
          natureId="com.xyz.snowNature"
          category="com.xyz.weather"
          icon="./icons/snowCapability.gif"
          installWizard="com.xyz.SnowCapabilityWizard">
          installDetails="您必須提供一個語言環境 ID。">
          description="將您的專案變成一個水世界樂園!">
          <handleUI
              id="com.xyz.waterCapability"
          </handleUI>
          <perspectiveChoice
              id="com.xyz.skiPerspective"
          </perspectiveChoice>
          <perspectiveChoice
              id="com.xyz.rainPerspective"
          </perspectiveChoice>
      </capability>
      <capability
          id="com.xyz.waterCapability"
          natureId="com.xyz.waterNature"
          category="com.xyz.weather"
          icon="./icons/waterCapability.gif"
          installWizard="com.xyz.WaterCapabilityWizard">
          installDetails="您必須提供一個語言環境 ID。">
          description="將您的專案變成一個水世界樂園!">
          <perspectiveChoice
              id="com.xyz.rainPerspective"
          </perspectiveChoice>
          <perspectiveChoice
              id="com.xyz.drinkPerspective"
          </perspectiveChoice>
      </capability>
   </extension>

API 資訊installWizard 屬性值必須代表實作 org.eclipse.ui.ICapabilityInstallWizard 介面的類別。IProject 存在並用 init 方法傳遞,可被查詢其他本質的存在。功能安裝精靈必須不關閉或刪除用 init 方法傳遞的專案。

uninstallWizard 屬性值必須代表實作 org.eclipse.ui.ICapabilityUninstallWizard 介面的類別。 IProject 存在並用 init 方法傳遞,可被查詢其他本質的存在。功能解除安裝精靈必須不關閉或刪除用 init 方法傳遞的專案。

提供實作方式:工作台不提供任何功能。

Copyright IBM Corp. 2000, 2001.  All Rights Reserved.