我编写了一个Eclipse插件,并在Eclipse“帮助”菜单中添加了帮助选项。单击该帮助后,将显示MessageBox。
当Eclipse应用程序运行或调试时会出现此MessageBox但是当我在其他PC上部署此插件并单击帮助时,MessageBox不会出现。
这是我的代码:
public class MyHelp implements IWorkbenchWindowActionDelegate {
public void run(IAction arg0) {
try {
String message = "This is demo data";
// TODO Auto-generated method stub
MessageBox box = new MessageBox(new Shell(), SWT.OK);
box.setMessage(message);
box.setText("Help title");
box.open();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
任何人都可以帮我解决这个问题吗?
为了帮助我在我的插件中添加了一个ActionSet:
<extension
point="org.eclipse.ui.actionSets">
<actionSet
id="com.my.plugin.actionSet"
label="My ActionSet"
visible="true">
<menu
id="mymenu"
label="My Menu"
path="help/helpStart">
<groupMarker
name="start">
</groupMarker>
<separator
name="additions">
</separator>
</menu>
<action
class="com.myexample.MyHelp"
id="MyHelp"
label="Use Help"
icon="icons/plugin_help.png"
menubarPath="help/mymenu/start"
style="push">
</action>
</actionSet>
</extension>
我还需要做其他事吗?
答案 0 :(得分:0)
如果您正在运行eclipse&gt; = 3.3,那么您可以将其放到plugins文件夹中。另外,尝试使用-clean option
重新启动日食。
我建议您使用dropins文件夹进行手动安装。请参阅文档:http://wiki.eclipse.org/Equinox_p2_Getting_Started#Dropins
<强> Upd1:强> 为了运行你的代码我必须添加一些未实现的方法(我使用的是eclipse版本3.6):
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
public class MyHelp implements IWorkbenchWindowActionDelegate {
public void run(final IAction arg0) {
final String message = "This is demo data";
// TODO Auto-generated method stub
final MessageBox box = new MessageBox(new Shell(), SWT.OK);
box.setMessage(message);
box.setText("Help title");
box.open();
}
public void selectionChanged(final IAction action, final ISelection selection) {
// TODO Auto-generated method stub
}
public void dispose() {
// TODO Auto-generated method stub
}
public void init(final IWorkbenchWindow window) {
// TODO Auto-generated method stub
}
}
另外,请检查您的插件MANIFEST是否有以下行:
Bundle-SymbolicName: your_plugin_id;singleton:=true
我刚刚将工作区中的插件复制到我的eclipse实例的dropins文件夹中,它开箱即用。
您确定,该插件清单位于jar文件中吗?查看Bin选项卡或build.properties以确保所有内容都正确导出。
希望这有帮助