2010-12-21 76 views
0

我可以看到,可以爲使用命令擴展點定義的命令定義參數。我無法爲這些命令參數定義值。命令參數和菜單貢獻參數有什麼區別

當定義菜單貢獻時,我還可以在菜單擴展點的Command元素下定義參數。我可以在這裏爲參數定義一個值。

Command中的命令參數與菜單貢獻中的參數不同嗎?如果他們不同,他們有什麼不同?

回答

0

插件org.eclipse.ui.command讓你爲你的命令聲明參數。將參數添加到命令中時,必須爲實現IParameterValues的參數設置ID,類型和可能值的列表。

之後,您可以將此命令添加到帶有參數及其值的菜單項。

例如,假設您有一個id爲org.rcp.commands.new的命令。它定義了一個名稱爲「type」和posible值(文件,項目和文件夾)的參數。您可以與commandId = 「org.rcp.commands.new」 添加三個菜單項,每個參數的plugin.xml

樣品 ...

查找該鏈接的詳細信息: http://blog.eclipse-tips.com/2008/12/commands-part-3-parameters-for-commands.html

0

的差別是基本相同的函數參數的聲明 - func(int a)和命名參數的函數調用規範 - 例如func(a=1)

下面是一個小例子,說明兩者之間的區別。以下聲明使用單個參數指定新命令。該參數有一個id和一個name。稍後將使用id,而name僅用於幾個視圖,可在此處忽略。所以這真的只是showName(String header)

<extension 
    point="org.eclipse.ui.commands"> 
<command 
    categoryId="com.rcpcompany.training.demo33.providers.ui.category.demoCommands" 
    description="Shows the name of the current resource" 
    id="com.rcpcompany.training.demo33.providers.ui.commands.showName" 
    name="&amp;Show Name"> 
    <commandParameter 
     id="header" 
     name=」Header「 /> 
</command> 
</extension> 

在這裏,我們有一個使用相同的命令與header參數的值。所以這是showName(header="The selected resource is....")

<menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar"> 
<toolbar id="com.rcpcompany.training.demo33.providers.ui.toolbar1"> 
    <command 
     commandId="com.rcpcompany.training.demo33.providers.ui.commands.showName"> 
    <parameter 
     name="header" 
     value="The selected resource is...." /> 
    </command> 
</toolbar> 
</menuContribution> 

注意,它是參數聲明是參數使用的name屬性的id屬性...所以它是header,而不是Header

相關問題