Hello World
要为 Eclipse 创建 Hello World 插件,请单击: 文件 ➜ 新建 ➜ 其他…
选择 Plug-in Project 并单击 Next>
该新插件项目向导将引导你通过选项来创建一个新的插件。
输入项目名称(如 HelloWorld),然后单击 Next>
在“ 内容” 页面上,你可以设置插件的 ID ,版本,名称和供应商。
默认情况下,版本将为 1.0.0.qualifier 。你可以保持原样,但最好将其更改为有意义的内容。在日食维基建议像语法 vYYYYMMDD (年月日)。
在“ 模板” 页面上,你可以选择从任何模板创建插件,方法是选择它并单击“ 下一步>” 。或者,你可以通过选择自定义插件向导来组合这些模板,或者通过取消选择使用其中一个模板创建插件前面的复选框来创建没有模板的新插件。
对于 Hello,World Command 模板,还有其他设置:包名称,Handler 类名称和消息框的文本。
在创建插件,你可以通过运行右键单击 plugin.xml 中 ➜ 运行方式 ➜ Eclipse 的应用
这将启动一个新的 Eclipse 实例(具有自己的工作空间),它将加载你的插件。
这个 Hello World 插件将为 Eclipse GUI 做出 3 个贡献:
1.示例菜单(带示例命令):
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.工具栏图标:
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 将显示:
这就是 Hello World 的所有插件。
如果要创建具有更多功能的插件,可以选择最适合你需要的模板,或者通过 Custom 插件向导创建插件以组合这些模板: