在eclipse编辑器中显示不同的代码行(不更改其他所有内容)

时间:2015-03-18 13:42:55

标签: eclipse eclipse-plugin groovy-eclipse

设置:我正在进行编程实验,我需要向测试人员显示与实际存在的代码行不同的方法签名(一行代码)。例如:

// this code should be visible
public def aFunction(def a, def b) {

// this line of code should be used
public void aFunction(String a, List<String> b) {

目的是一切都像源代码包含第二行(如代码完成,错误等),但只有第一行可见。 我已经尝试修补我使用的groovy编辑器并在加载和保存时替换一些文本,但这似乎不能完成工作,使用一些代码,如

IDocument doc =this.getDocumentProvider().getDocument(this.getEditorInput()); doc.set(doc.get().replaceAll(...));

可悲的是,这会导致奇怪的行为,如始终标记为脏文件。 我也尝试使用groovy编辑器提供的getCompilationUnit方法,但不知怎的,这在任何方面都没有帮助(可能是因为&#34;错误的#34;代码在编辑器中仍然可见?)。

最后,我尝试在doSetInput方法中为IEditorInput底层的IFile包装InputStream,如

IFile resource = (IFile) input.getAdapter(IFile.class);
InputStream in = resource.getContents();
//...wrap stream
resource.setContents(in, false, true, null);

但这只会导致编辑器完全空白。

任何人都知道如何解决这个问题?

0 个答案:

没有答案