如何制作IEditorInput,它将从内存中读取文件?

时间:2016-07-18 06:30:33

标签: java eclipse eclipse-plugin eclipse-rcp

我正在为eclipse编写插件,我需要为RAM中加载的文件打开编辑器。当我打开新编辑器时,它从IEditorInput获取输入。有许多类,它们实现了这个接口,但它们通常是从HDD读取文件,或者它们对此无用。

所以问题是: 如何制作IEditorInput,它将从内存中读取文件?

1 个答案:

答案 0 :(得分:1)

您可以使用实现setInterval(function(){ // add ajax stuff here $('input[name=_token]').val(new_token); }, 1800000); 的对象作为编辑器输入。这使用IStorageEditorInput对象来保存要编辑的内存数据。

简单的IStorage实现看起来像:

IStorageEditorInput

(以上改编自class StorageEditorInput extends PlatformObject implements IStorageEditorInput { private IStorage fStorage; public StorageEditorInput(IStorage storage) { fStorage = storage; } @Override public IStorage getStorage() { return fStorage; } @Override public ImageDescriptor getImageDescriptor() { return null; } @Override public String getName() { return getStorage().getName(); } @Override public IPersistableElement getPersistable() { return null; } @Override public String getToolTipText() { return getStorage().getFullPath().toOSString(); } @Override public boolean equals(Object object) { return object instanceof StorageEditorInput && getStorage().equals(((StorageEditorInput)object).getStorage()); } @Override public int hashCode() { return getStorage().hashCode(); } @Override public boolean exists() { return true; } }

您还必须提供自己的org.eclipse.debug.internal.ui.views.console.ProcessConsole实现,实际上您应该实现扩展IStorage的{​​{1}}以包含字符编码。

请注意,某些编辑可能无法理解IEncodedStorage