Eclipse开发经验:文本替换和操作界面
2008-02-23 08:18:44来源:互联网 阅读 ()
快速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)设置快捷键。
<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>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash