Hello World

要為 Eclipse 建立 Hello World 外掛,請單擊: 檔案新建其他…

StackOverflow 文件

選擇 Plug-in Project 並單擊 Next>

StackOverflow 文件

新外掛專案嚮導將引導你通過選項來建立一個新的外掛。

輸入專案名稱(如 HelloWorld),然後單擊 Next>

StackOverflow 文件

在“ 內容” 頁面上,你可以設定外掛的 ID版本名稱供應商

預設情況下,版本將為 1.0.0.qualifier 。你可以保持原樣,但最好將其更改為有意義的內容。在日食維基建議像語法 vYYYYMMDD (年月日)。

StackOverflow 文件

在“ 模板” 頁面上,你可以選擇從任何模板建立外掛,方法是選擇它並單擊“ 下一步>” 。或者,你可以通過選擇自定義外掛嚮導來組合這些模板,或者通過取消選擇使用其中一個模板建立外掛前面的核取方塊來建立沒有模板的新外掛。

StackOverflow 文件

對於 Hello,World Command 模板,還有其他設定:包名稱,Handler 類名稱和訊息框的文字。

StackOverflow 文件

在建立外掛,你可以通過執行右鍵單擊 plugin.xml 中執行方式Eclipse 的應用

這將啟動一個新的 Eclipse 例項(具有自己的工作空間),它將載入你的外掛。

StackOverflow 文件

這個 Hello World 外掛將為 Eclipse GUI 做出 3 個貢獻:

1.示例選單(帶示例命令):

StackOverflow 文件

plugin.xml 中:

<extension
      point="org.eclipse.ui.menus">
   <menuContribution
         locationURI="menu:org.eclipse.ui.main.menu?after=additions">
      <menu
            label="Sample Menu"
            mnemonic="M"
            id="HelloWorld.menus.sampleMenu">
         <command
               commandId="HelloWorld.commands.sampleCommand"
               mnemonic="S"
               id="HelloWorld.menus.sampleCommand">
         </command>
      </menu>
   </menuContribution>
</extension>

2.工具欄圖示:

StackOverflow 文件

plugin.xml 中:

<extension
      point="org.eclipse.ui.menus">
   <menuContribution
         locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
      <toolbar
            id="HelloWorld.toolbars.sampleToolbar">
         <command
               commandId="HelloWorld.commands.sampleCommand"
               icon="icons/sample.gif"
               tooltip="Say hello world"
               id="HelloWorld.toolbars.sampleCommand">
         </command>
      </toolbar>
   </menuContribution>
</extension>

3.一鍵快捷鍵(Ctrl + 6)

plugin.xml 中:

<extension
      point="org.eclipse.ui.bindings">
   <key
         commandId="HelloWorld.commands.sampleCommand"
         contextId="org.eclipse.ui.contexts.window"
         sequence="M1+6"
         schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
   </key>
</extension>

啟用其中任何一個時,將執行 Handler 類:

plugin.xml 中:

<extension
      point="org.eclipse.ui.commands">
   <category
         name="Sample Category"
         id="HelloWorld.commands.category">
   </category>
   <command
         name="Sample Command"
         categoryId="HelloWorld.commands.category"
         id="HelloWorld.commands.sampleCommand">
   </command>
</extension>
<extension
      point="org.eclipse.ui.handlers">
   <handler
         commandId="HelloWorld.commands.sampleCommand"
         class="helloworld.handlers.SampleHandler">
   </handler>
</extension>

SampleHandler.java:

package helloworld.handlers;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.jface.dialogs.MessageDialog;

/**
 * Our sample handler extends AbstractHandler, an IHandler base class.
 * @see org.eclipse.core.commands.IHandler
 * @see org.eclipse.core.commands.AbstractHandler
 */
public class SampleHandler extends AbstractHandler {

    @Override
    public Object execute(ExecutionEvent event) throws ExecutionException {
        IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
        MessageDialog.openInformation(
                window.getShell(),
                "HelloWorld",
                "Hello, Eclipse world");
        return null;
    }
}

執行 Handler 類時,MessageBox 將顯示:

StackOverflow 文件

這就是 Hello World 的所有外掛。

如果要建立具有更多功能的外掛,可以選擇最適合你需要的模板,或者通過 Custom 外掛嚮導建立外掛以組合這些模板:

StackOverflow 文件