知识大全 扩展点的使用

Posted 扩展

篇首语:与有肝胆人共事,从无字句处读书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 扩展点的使用相关的知识,希望对你有一定的参考价值。

Eclipse重构功能:扩展点的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Eclipse中提供了几个扩展点 方便扩展重构功能

  基本的重构功能有

  Rename Move Create Delete Copy 对应扩展点即为

  

  re refactoring renameParticipantsre refactoring moveParticipantsre refactoring createParticipantsre refactoring deleteParticipantspyParticipants

  以ReName为例 其余 项与ReName大同小异

  实现这个扩展点的基本语法

  

  < extension point= re refactoring renameParticipants >< renameParticipant    id= intramart app producer refactoring renameTypeParticipant     name= Ebuilder RenameTypeParticipant     class= intramart app producer refactoring TypeRenameParticipant >    < enablement>    < /enablement>< /renameParticipant>< /extension>

  这里默认对响应所有改名事件 如果需要过滤可以在元素< enablement/>中加以定义 不赘述 实现改名扩展的关键在实现类 必须是re refactoring participants RenameParticipant 的子类

  下面代码进行了简单的Eclipse重构功能实现

  

  import re resources IFile;import re resources ResourcesPlugin;import re runtime CoreException;import re runtime IProgressMonitor;import re runtime OperationCanceledException;import re refactoring Change;import re refactoring RefactoringStatus;import re refactoring TextFileChange;import re refactoring participants CheckConditionsContext;import re refactoring participants RenameParticipant;import eclipse text edits ReplaceEdit;

  public class TypeRenameParticipant extends RenameParticipant

  public TypeRenameParticipant()    

  @Override    public RefactoringStatus checkConditions(IProgressMonitor pm             CheckConditionsContext context) throws OperationCanceledException         return new RefactoringStatus();   

  @Override    public Change createChange(IProgressMonitor pm) throws CoreException             OperationCanceledException         IFile file = ResourcesPlugin getWorkspace() getRoot() getProject( a )                getFile( a );        TextFileChange textFileChange = new TextFileChange( File Changed                 file);

  ReplaceEdit edit = new ReplaceEdit( haha );        textFileChange setEdit(edit);        return textFileChange;   

  @Override    public String getName()         return Ebuilder RenameTypeParticipant ;   

  @Override    protected boolean initialize(Object element)         // need sub        return true;   

  

  CreateChange方法内实现过于粗糙 仅仅是为了可以让大家看到结果

  Eclipse重构功能结果预览

  通过利用扩展点 我们就自然的将重构时的差异比较 警告 preview 重构history redo/undo等 eclipse平台提供的基本功能加以利用了

  Preview的结果如下图

相关参考

什么是线岔,其作用是什么?

1线岔是装于道岔的上空,两支接触线相交点的一种转换设备。2保证电力机车受电弓安全平滑,安全地由一股道上空的一条接触线过渡到另一条股道上空的接触线,达到完成转换线路的运行目的。扩展知识1、简单讲,线岔是

知识大全 wifi无线扩展器扩展不成功怎么办

wifi无线扩展器扩展不成功怎么办把无线扩展器(或者叫WIFI信号放大器)放到离主无线路由器跟前,重新配置,如果可连接成功,说明原来扩展器离主路由器距离远了,信号搜索不到造成的。如果近距离配置不成,说

在下列文件的扩展名中,以()作为扩展名的文件不能执行。

在下列文件的扩展名中,以()作为扩展名的文件不能执行。A、COM;B、BAK;C、DAT;D、BAT参考答案:BC

在下列文件的扩展名中,以()作为扩展名的文件不能执行。

在下列文件的扩展名中,以()作为扩展名的文件不能执行。A、COM;B、BAK;C、DAT;D、BAT参考答案:BC

知识大全 浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)

浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让

知识大全 大学女生是喜欢成熟一点的男生还是时尚一点的

大学女生是喜欢成熟一点的男生还是时尚一点的?只要不是太过分穿什么都可以,但是一定要有品位,符合自己的身材相貌。休闲的时候休闲,正式的时候成熟,偶尔来点小潮流。不一定多贵,但要精心琢磨一下。男生是喜欢可

知识大全 男生喜欢主动一点的女孩还是矜持一点的女孩

男生喜欢主动一点的女孩还是矜持一点的女孩??(最好男生来回答)我觉得男人喜欢矜持的女人我现在跟你分析下:假设主动的女孩是(乖乖女)矜持的女孩是(坏女人)坏女人与乖乖女的最大差异就是乖乖女害怕失去他坏女

知识大全 WhereIf 扩展

c#扩展方法奇思妙用基础篇六:WhereIf扩展  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

扩展责任条款的相关案例

扩展责任条款的相关案例JohnMartinofLondonLtd.v.Russell一案是关于保险期间中的扩展责任条款的案例。本案的原告JohnMartinofLondonLtd.是案中的被保险人,被

知识大全 数轴上和表示-5的点的距离等于6又1/3的点的负的有理数是( )。

数轴上和表示-5的点的距离等于6又1/3的点的负的有理数是()。数轴上和表示-5的点的距离等于6又1/3的点的负的有理数是(-11又1/3和1又1/3)。不懂可追问,有帮助请采纳,谢谢!x的3次方y的