我正在编写一个Eclipse插件,当选择了上下文菜单中的选项时,它将在指定位置添加一个断点。我目前拥有的是一个新的菜单贡献,我已将其添加到编辑器标尺上下文菜单中。我可以选择这个并执行操作,但我遇到的问题是我无法弄清楚如何获取位置信息,例如类名,行号等。
以下是我的plugin.xml的相关部分:
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#CompilationUnitRulerContext?after=additions">
<dynamic
class="breakpoint.ui.menu.MenuExtension"
id="breakpoint.ui.menu.BreakpointMenuExtension">
</dynamic>
</menuContribution>
</extension>
这是我的MenuExtension类的fill()方法:
@Override
public void fill(Menu menu, int index) {
// Here you could get selection and decide what to do
// You can also simply return if you do not want to show a menu
// create the menu item
MenuItem menuItem = new MenuItem(menu, SWT.CHECK, index);
menuItem.setText("Quick Condition");
menuItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
ConditionAction conditionAction = new ConditionAction();
conditionAction.run();
System.err.println("Dynamic menu selected");
}
});
}
我以为我能够在SelectionEvent对象中找到我需要的东西,但是如果它在那里则不明显在哪里。
正如您可以从上面的代码中看出的那样,我是插件开发的新手,我已经按照教程来实现这一目标。非常感谢任何帮助,如果我能提供更多信息,请告诉我。