快速Eclipse插件開發經驗:
1.取得對當前選中文本內容,並轉換。
1)定義Action實現IEditorActionDelegate接口。
2)取得當前編輯器(getEditor())。
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
3)取得選中文本。
(ITextSelection) getEditor().getEditorSite().getSelectionProvider().getSelection();
4)替換選中文本。
AbstractTextEditor editor = (AbstractTextEditor) getEditor();
editor.getDocumentProvider().getDocument(editor.getEditorInput());
document.replace(offset, length, replaceText);
5)選中替換後的文本。
ITextSelection tsNew = new TextSelection(document, offset, length);
getEditor().getEditorSite().getSelectionProvider().setSelection(tsNew);
2.菜單分組,圖標,快捷鍵,工具條的實現。
1)菜單分組。如下分成4組,組之間有分隔線。
<menu label="XXXXTools(&T)" id="XXXXToolsMenu">
<separator name="XXXXToolsGroupTxt"></separator>
<separator name="XXXXToolsGroupSql"></separator>
<separator name="XXXXToolsGroupCode"></separator>
<separator name="XXXXToolsGroupRefrence"></separator>
</menu>
2)分配Action到組。設置圖標。和工具條。
<action label="To Lower Case(&L)"
class="XXXXTools.actions.text.ToLowerCaseAction"
icon="icons/lower.gif"
menubarPath="XXXXToolsMenu/XXXXToolsGroupTxt"
toolbarPath="XXXXToolsGroupTxt"
id="XXXXTools.actions.text.ToLowerCaseAction"
definitionId="XXXXTools.actions.text.ToLowerCaseAction">
<selection class="org.eclipse.jface.text.ITextSelection" />
</action>
3)設置快捷鍵。