我正在创建一个插件来编辑run.properties
文件的加密内容。我有编辑器窗口能够打开属性文件,但我不确定如何实现代码来处理(读取解密)所选文件。我需要获取我选择的文件,使用我的解密代码使其可读取纯文本,然后在编辑器窗口中打开文件
目前,我的课程TextEditor
已延长AbstractTextEditor
。我的ISelection
对象在以下代码段中为空
public class TextEditor extends AbstractTextEditor
{
public TextEditor()
{
super();
setSourceViewerConfiguration(new TextSourceViewerConfiguration());
setDocumentProvider(new TextFileDocumentProvider());
ISelection selection = doGetSelection();
}
@Override
public void dispose()
{
super.dispose();
}
}
答案 0 :(得分:1)
我找到了问题的答案。 TextFileDocumentProdiver扩展了FileDocumentProvider,它有一个名为createDocument()的方法。
我创建了MyDocumentProvider来扩展FileDocumentProvider并覆盖createDocument()方法。这是代码
/**
* Class to set up editor
*/
public class MyEditor extends TextEditor
{
public MyEditor()
{
super();
setSourceViewerConfiguration(new TextSourceViewerConfiguration());
setDocumentProvider(new MyDocumentProvider());
}
@Override
public void dispose()
{
super.dispose();
}
}
/**
* Class for document provider
*/
public class MyDocumentProvider extends FileDocumentProvider
{
@Override
protected IDocument createDocument(Object selectedFile) throws CoreException
{
IDocument doc = super.createDocument(selectedFile);
if(doc != null)
{
// Manipulate document with my convenience method
String manipulatedText = manipulate(doc);
// Set the text of the displayed document
doc.set(manipulatedText);
}
return doc;
}
}
答案 1 :(得分:0)
您可以在编辑器的init()方法中获得编辑器输入的内容。您可以根据解密操作编辑器输入的文本