我正在为eclipse开发一个插件。在这个插件中,我需要能够在文本编辑器中的上下文菜单中添加一个项目。到目前为止,我一直没有成功,有没有人知道如何添加这个项目。
另外,如何获取包含当前在编辑器中选择的文本的字符串。
非常感谢你。
答案 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>