Java Eclipse插件开发初学者 公共类激活器扩展了AbstractUIPlugin{ //插件ID 公共静态最终字符串PLUGIN_ID=“my.PLUGIN.alps”/$NON-NLS-1$ //共享实例 私有静态激活器插件; /** *构造器 */ 公共激活器(){ } 公共静态void main(字符串[]args){ getDefault(); } public void start(BundleContext)引发异常{ super.start(上下文); plugin=这个; } 公共void stop(BundleContext上下文)引发异常{ plugin=null; super.stop(上下文); } 公共静态激活器getDefault(){ 返回插件; } 公共布尔值isEnabled(){ //TODO自动生成的方法存根 返回true; } 公共静态ImageDescriptor getImageDescriptor(字符串路径){ 返回imageDescriptorFromPlugin(插件ID,路径); } } 公共类SampleHandler扩展了AbstractHandler{ @凌驾 公共对象执行(ExecutionEvent事件)引发ExecutionException{ IWorkbenchWindow=HandlerUtil.getActiveWorkbenchWindowChecked(事件); MessageDialog.openInformation( window.getShell(), “阿尔卑斯山”, “用于生成代码”); 返回null; } } 我希望它是可点击的,并做一些事情。我不知道在哪里添加其函数的源代码。
我是新手,请帮帮我。 多谢各位 1.我需要它是可点击的(当我运行它时它会变灰) 2.我需要知道在哪里添加代码才能实现其功能。 i、 当我点击菜单时,它会做一些事情。。。 再一次, 我已经创建了自己的插件eclipse。 我是新来的。 如何将功能添加到为插件创建的菜单中? 每次我将其作为eclipse应用程序运行时,菜单都会变灰/无法单击。 也许我错过了什么?Java Eclipse插件开发初学者 公共类激活器扩展了AbstractUIPlugin{ //插件ID 公共静态最终字符串PLUGIN_ID=“my.PLUGIN.alps”/$NON-NLS-1$ //共享实例 私有静态激活器插件; /** *构造器 */ 公共激活器(){ } 公共静态void main(字符串[]args){ getDefault(); } public void start(BundleContext)引发异常{ super.start(上下文); plugin=这个; } 公共void stop(BundleContext上下文)引发异常{ plugin=null; super.stop(上下文); } 公共静态激活器getDefault(){ 返回插件; } 公共布尔值isEnabled(){ //TODO自动生成的方法存根 返回true; } 公共静态ImageDescriptor getImageDescriptor(字符串路径){ 返回imageDescriptorFromPlugin(插件ID,路径); } } 公共类SampleHandler扩展了AbstractHandler{ @凌驾 公共对象执行(ExecutionEvent事件)引发ExecutionException{ IWorkbenchWindow=HandlerUtil.getActiveWorkbenchWindowChecked(事件); MessageDialog.openInformation( window.getShell(), “阿尔卑斯山”, “用于生成代码”); 返回null; } } 我希望它是可点击的,并做一些事情。我不知道在哪里添加其函数的源代码。,java,eclipse,plugins,Java,Eclipse,Plugins,我是新手,请帮帮我。 多谢各位 1.我需要它是可点击的(当我运行它时它会变灰) 2.我需要知道在哪里添加代码才能实现其功能。 i、 当我点击菜单时,它会做一些事情。。。 再一次, 我已经创建了自己的插件eclipse。 我是新来的。 如何将功能添加到为插件创建的菜单中? 每次我将其作为eclipse应用程序运行时,菜单都会变灰/无法单击。 也许我错过了什么? 蒂亚 看到上面的代码,指定的命令ID不匹配。 当您试图将命令与菜单及其处理程序关联时,命令ID应该相同。 尝试为菜单项及其各自的处理程序提
蒂亚 看到上面的代码,指定的命令ID不匹配。 当您试图将命令与菜单及其处理程序关联时,命令ID应该相同。 尝试为菜单项及其各自的处理程序提供相同的命令ID。 那么代码就可以正常工作了 请在下面找到修改后的plugin.xml:
public class Activator extends AbstractUIPlugin {
// The plug-in ID
public static final String PLUGIN_ID = "my.plugin.alps"; //$NON-NLS-1$
// The shared instance
private static Activator plugin;
/**
* The constructor
*/
public Activator() {
}
public static void main(String[] args) {
Activator.getDefault();
}
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
public static Activator getDefault() {
return plugin;
}
public boolean isEnabled() {
// TODO Auto-generated method stub
return true;
}
public static ImageDescriptor getImageDescriptor(String path) {
return imageDescriptorFromPlugin(PLUGIN_ID, path);
}
}
<extension
point="org.eclipse.ui.commands">
<category
name="Sample Category"
id="my.plugin.alps.commands.category">
</category>
<command
name="Code Generator"
categoryId="my.plugin.alps.commands.category"
id="my.plugin.alps.commands.sampleCommand">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="my.plugin.alps.commands.sampleCommand"
class="my.plugin.alps.handlers.SampleHandler">
</handler>
</extension>
<extension
point="org.eclipse.ui.bindings">
<key
commandId="my.plugin.alps.commands.sampleCommand"
contextId="org.eclipse.ui.contexts.window"
sequence="M1+6"
schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
</key>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu
label="myLearning Portal for SAP (ALPS)"
id="my.plugin.alps.menus.alps">
<command
commandId="my.plugin.alps.generateCodes"
id="my.plugin.alps.menus.generateCodes"
label="Generate Codes"
style="push">
</command>
<command
commandId="my.plugin.alps.checkCodes"
id="my.plugin.alps.menus.checkCodes"
label="Check Codes"
style="push">
</command>
</menu>
</menuContribution>
</extension>
</plugin>
public class SampleHandler extends AbstractHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
MessageDialog.openInformation(
window.getShell(),
"Alps",
"Use to generate codes");
return null;
}
}
I want it to be clickable and do something. I don't know where to add my source code for its function.
看,插件中没有main
方法。Eclipse在需要时调用其他方法。@greg-449所以这个插件不可能运行?插件必须作为Eclipse的一部分运行。为了测试它,您可以使用“作为Eclipse应用程序运行”——Eclipse启动一个新的Eclipse实例,该实例包含您的插件,并且有一个单独的工作区。
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu
id="my.plugin.alps.menus.alps"
label="myLearning Portal for SAP (ALPS)">
<command
commandId="my.plugin.alps.generateCodes"
id="my.plugin.alps.menus.generateCodes"
label="Generate Codes"
style="push">
</command>
<command
commandId="my.plugin.alps.checkCodes"
id="my.plugin.alps.menus.checkCodes"
label="Check Codes"
style="push">
</command>
</menu>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
id="my.plugin.alps.generateCodes"
name="Generate Codes">
</command>
<command
id="my.plugin.alps.checkCodes"
name="Check Codes">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="TestHandler"
commandId="my.plugin.alps.generateCodes">
</handler>
</extension>