我认为你最有希望的方法是去eclipse源代码.

>使用源代码下载所需的版本.特别是,您需要JDT插件的源代码,它包含在“经典”版本中.以下所有内容均基于4.2.1.

>启动到空工作区.

>文件 – >导入:插件和片段

>从“活动目标平台”,“从所有选择…”,“带有源文件夹的项目”导入

>至少选择org.eclipse.jdt.ui和org.eclipse.ltk.core.refactoring.

对应于Refactor>>的起点.重命名是org.eclipse.jdt.ui.actions.RenameAction.这是整个重命名重构,但它可以重命名从方法到文件的任何内容.与您更相关的是RenameSupport.create(IMethod,String,int).

您可以看到在处理器(RenameVirtualMethodProcessor或RenameNonVirtualMethodProcessor)周围创建了RenameRefactoring类,然后将其发送到RenameSupport的新实例. RenameSupport处理所有用于配置重构的UI,但由于您以编程方式执行,因此只需要使用各种processor.set *()方法配置的RenameRefactoring和处理器.

现在您已经配置了RenameRefactoring实例.怎么办? Eclipse中的实际操作跨两个Job实现执行.有关详细信息,请查看RefactoringExecutionHelper.Operation和PerformChangeOperation.

这一切归结为什么?除了异常处理的所有细节,具有撤消堆栈和工作区检查点之外,您可以使用以下步骤重命名“虚拟”方法:

IMethod methodToRename = <....>

RenameMethodProcessor processor = new RenameVirtualMethodProcessor(methodToRename)

processor.setUpdateReferences(true);

processor.setNewElementName("newMethodName");

RenameRefactoring fRefactoring = new RenameRefactoring(processor);

fChange= fRefactoring.createChange(new NullProgressMonitor());

fChange.initializeValidationData(new NullProgressMonitor());

fChange.perform(new NullProgressMonitor())

在那里有很多支持代码用于撤销,进度条,异步执行,工作空间检查点等,您可能需要或可能需要这些代码,具体取决于您希望如何运行它.但这是如何运行重构的胆量.

Java jdt 编辑_java – 如何使用JDT以编程方式重命名方法相关推荐

  1. java method 创建_java中创建对象的5种方式

    作为Java开发者,我们每天创建很多对象,但我们通常使用依赖管理系统,比如Spring去创建对象.然而这里有很多创建对象的方法. Java中有5种创建对象的方法,下面列出例子还有他们的字节码: 使用n ...

  2. java打印数组_Java中打印数组内容的方式有哪些?

    下面是几种常见的打印方式. 方法一:使用循环打印. public class Demo { public static void main(String[] args) { String[] info ...

  3. 【网课截图】(自用)Java常量的分类、补充两个快捷键方式(main方法的快捷键psvm、输出语句的快捷键sout)、使用变量注意事项

    1.常量的分类 2.补充两个快捷键方式(main方法的快捷键psvm.输出语句的快捷键sout) 在IDEA中输入psvm或者sout,那串代码就出来了[手动狗头] 3.Java的常量 为了深刻理解这 ...

  4. java word编辑_java实现word在线编辑及流转

    [实例简介] java开发web办公系统,调用PageOffice组件实现word在线编辑及流转 [实例截图] [核心代码] worddemo ├── worddemo │   ├── css │   ...

  5. java excel 编辑_Java 创建、编辑和删除Excel迷你图表

    在Excel中,迷你图表是指在单元格中表示数据的微型图表.用其可以清晰简明地表现出相邻数据的变化趋势,同时也不会占用大量空间.根据图表形式的不同,迷你图表可分为折线迷你图.柱状迷你图及盈亏迷你图.本文 ...

  6. java agent模式_Java Agent的agentmain和premain方式

    agentmain方式 首先假如我们有个应用1启动类为task, package com.st; import java.lang.instrument.Instrumentation; import ...

  7. 另一个.java文件调用_java - 如何调用另一个类“写文件”的方法? - SO中文参考 - www.soinside.com...

    在我的Android应用程序,我想有一类处理所有"写入/读取到文本文件"的行动.所以,我根本就调用我的readUserFile.java文件我想的方法.但我的方法将不会在该文件中工 ...

  8. java webservice 依赖_java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  9. java 指定文件格式_java删除指定目录下指定格式文件的方法

    本文实例为大家分享了java删除指定目录下指定格式文件的具体代码,供大家参考,具体内容如下 正在看疯狂java讲义这本书,发现源码中有我不需要的class文件,想批量把它删除 代码如下: import ...

最新文章

  1. 除留余数法构造哈希表_哈希表算法原理
  2. 漫谈高数——泰勒级数的物理意义
  3. java 调用php文件上传_php上传文件,接口是java,go。
  4. 老婆回家时没有帮老婆打点,也完全忘记提醒老婆晚上火车上很凉,内疚.亲爱的,对不起!...
  5. 3.5框架不能创建就加这一段代码
  6. mysql 删除数据表大小没变_为什么数据删除了,表文件大小不变?
  7. 机器视觉入门——Halcon软件学习<1>
  8. iOS人脸识别(检测)
  9. 阿里巴巴的图标库 -------------本地使用
  10. 解决一例Fedora 31安装NVIDIA官方驱动程序无法使用DKMS注册的问题
  11. [机缘参悟-65]:《兵者,诡道也》-7-三十六计解读-败战计
  12. K-mer特征提取one-hot编码
  13. Android应用开发自定义图片剪辑头像设置
  14. 日拱一卒,“功不唐捐
  15. 人生感悟|写在四月底
  16. 基于图搜索的规划算法之Voronoi图法
  17. Springboot+Vue+Echarts实现51job大数据岗位分析数据大屏
  18. 深度学习笔记----计算机视觉的任务及对应的网络模型
  19. 超详细的卷积后大小的计算公式
  20. 位,字,字节,字地址,字节单元,字存储单元等区别

热门文章

  1. 从零开始PyopenGL(2): 简单立体图形绘制
  2. Windform C# Graphics绘图,消除锯齿
  3. ios系统光遇是什么服务器,光遇什么时候合服?光遇国服安卓和IOS什么时候互通?...
  4. 电信物联网平台申请正式平台流程
  5. 面试之NGFW 性能测试
  6. 整合NGFW和威胁分析后,防火墙这是要上天?
  7. html制作网站 知乎,做短视频运营看那些网站(推荐这些短视频素材网站)
  8. 网站域名空间服务器,网站 域名 空间 服务器
  9. (MIUI)小米手机录音丢失找回
  10. 46招健脑秘笈,让你变得更聪明