Eclipse更改资源文件扩展
目前的Widget编辑器项目中有个需求,对于Project下面的文件进行移动,重命名等操作,相关的文件也要对链接描述进行修改。
比如html文件里有一行<script type="text/javascript" src="ddd.js"/>,如果我们在Eclipse里把ddd.js重命名为aaa.js,那么这行也要相应改为<script type="text/javascript" src="aaa.js"/>。
处理思路其实也很简单,对应所有此类重命名移动等IResource的操作,记录其文件名和路径,然后读取Project下的其他文件,将对应的文件链接的字符进行修改即可,如果不考虑相对路径的话,那这个需求的困难点就仅在于如何捕捉此类操作。
需要捕获的操作大概有这些:1.右键点击文件或文件夹选择rename,同按F2 2.右键点击文件或文件夹选择move 3.直接拖拽文件或文件夹到别的目录 4.右键点击文件或文件夹选择delete,同按Delete键 下面是依次扩展点的介绍
重命名扩展点首先要导入org.eclipse.ltk.core.refactoring包,这个包也是下面一些扩展点需要导入的,然后就可以再扩展点里增加renameParticipants扩展,按照提示定义一个扩展自RenameParticipant的类即可。对于本需求,还需要对扩展点加以特化,只针对文件重命名进行处理
<extension point="org.eclipse.ltk.core.refactoring.renameParticipants"> <renameParticipant name="code"><extension point="org.eclipse.team.core.repository"> <repository class="xxx.MyRepositoryProvider" id="xxx.myProviderID"> </repository></extension>