• 快速Eclipse开发经验文本替换和操作界面


    原创 快速Eclipse开发经验--文本替换和操作界面收藏

     
    快速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(&amp;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(&amp;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)设置快捷键。
    <extension point="org.eclipse.ui.commands">    
           <command name="To Lower Case"
                         id="XXXXTools.actions.text.ToLowerCaseAction" /> 
    </extension>
    <extension point="org.eclipse.ui.bindings">       
           <key sequence="Ctrl+Shift+U"
                         contextId="org.eclipse.ui.textEditorScope"
                         commandId="XXXXTools.actions.text.ToLowerCaseAction"
                         schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" />
    </extension>
  • 相关阅读:
    彻底弄懂类设计原则之 单一职责原则
    CF1592F1 Alice and Recoloring 1
    CF1592E Bored Bakry
    AT1218 たのしい家庭菜園
    CF1479A Searching Local Minimum
    P3295 [SCOI2016]萌萌哒
    CF1572B Xor of 3
    项目开发和管理需要弄清楚的6个问题
    PowerDesigner中如何生成主键和自增列Oracle版本
    js获取下拉框的选中值和文本值,后台获取用Request["XXXX"]即可
  • 原文地址:https://www.cnblogs.com/okuc/p/4149345.html
Copyright © 2020-2023  润新知