将项添加到Eclipse文本查看器上下文菜单

时间:2009-11-07 23:02:39

标签: java eclipse plugins swt

我正在为eclipse开发一个插件。在这个插件中,我需要能够在文本编辑器中的上下文菜单中添加一个项目。到目前为止,我一直没有成功,有没有人知道如何添加这个项目。

另外,如何获取包含当前在编辑器中选择的文本的字符串。

非常感谢你。

1 个答案:

答案 0 :(得分:6)

关于选择部分,问题“Replace selected code from eclipse editor thru plugin comand”足以满足您的需求:

try {               
    IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
    if ( part instanceof ITextEditor ) {
        final ITextEditor editor = (ITextEditor)part;
        IDocumentProvider prov = editor.getDocumentProvider();
        IDocument doc = prov.getDocument( editor.getEditorInput() );
        ISelection sel = editor.getSelectionProvider().getSelection();
        if ( sel instanceof TextSelection ) {

            // Here is your String
            final TextSelection textSel = (TextSelection)sel;

        }
    }
} catch ( Exception ex ) {
    ex.printStackTrace();
}

然后,您可以将此选项与弹出菜单中添加的项目相关联,如此SO问题:
How do you contribute a command to an editor context menu in Eclipse

<command
      commandId="org.my.command.IdCommand"
      tooltip="My Command Tooltip"
      id="org.my.popup.IdCommand">
    <visibleWhen>
       <with variable="selection">
          <instanceof value="org.eclipse.jface.text.ITextSelection"/>
       </with>
    </visibleWhen>