我正在使用 Eclipse JDT 构建 Java 重构平台,用于在选择并保存之前探索内存中的不同重构。我可以创建源文件的工作副本集合,在内存中编辑它们,并使用 JDT 框架将更改提交到磁盘。
但是,我还想在内存中生成新的“工作副本”源文件作为重构的一部分,并且只有在我提交工作副本时才创建相应的真实源文件。我已经看到各种暗示这是可能的,例如 http://www.jarvana.com/jarvana/view/org/eclipse/jdt/doc/isv/3.3.0-v20070613/isv-3.3.0-v20070613.jar !/guide/jdt_api_manip.htm说“请注意,编译单元不需要存在于 Java 模型中才能创建工作副本”。
到目前为止,我只能创建一个新的真实文件,即
ICompilationUnit newICompilationUnit = myPackage.createCompilationUnit(newName, "package piffle; public class Baz{private int i=0;}", false, null);
这不是我想要的。有谁知道如何创建一个新的“工作副本”源文件,直到我提交它才会出现在我的文件系统中?或者任何其他机制来实现同样的事情?