我正在尝试开发一个简单的Eclipse插件来理解它是如何工作的。
我有两个问题:
如何获取活动编辑器的内容?
你有关于生命周期插件和合作的好文档吗?我无法在Google上找到真正好的文档。
答案 0 :(得分:11)
Tonny Madsen的回答很好,但也许更透明(getAdapter()非常不透明)类似于:
public String getCurrentEditorContent() {
final IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
.getActiveEditor();
if (!(editor instanceof ITextEditor)) return null;
ITextEditor ite = (ITextEditor)editor;
IDocument doc = ite.getDocumentProvider().getDocument(ite.getEditorInput());
return doc.get();
}
答案 1 :(得分:8)
关于当前编辑器的内容,有几种方法可以执行此操作。以下代码未经过测试:
public String getCurrentEditorContent() {
final IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
.getActiveEditor();
if (activeEditor == null)
return null;
final IDocument doc = (IDocument) activeEditor.getAdapter(IDocument.class);
if (doc == null) return null;
return doc.get();
}
答案 2 :(得分:2)
我假设您已经熟悉将Eclipse用作IDE。
如果您认真编写Eclipse插件,那么Eric Clayberg和Dan Rubel撰写的“Eclipse插件”这本书非常宝贵。在读完这本书之前,我无法理解eclipse.org的写作。