这些天我的项目遇到了这个问题。我在eclipse中开发一个插件, 当我点击一个按钮时,我需要在活动窗口(编码区域)上写一个文本。
我在button.java类中使用以下代码
public class Button implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
/**
* The constructor.
*/
public Button() {
}
/**
* The action has been activated. The argument of the
* method represents the 'real' action sitting
* in the workbench UI.
* @see IWorkbenchWindowActionDelegate#run
*/
public void run(IAction action) {
MessageDialog.openInformation(
window.getShell(),
"Button",
"Code of the Button goes here");
}
我如何在run方法中执行此操作?这里我正在显示一条消息,而不是显示一条消息,我想在文本编辑器窗格中显示一些文本。请帮助我实现这一目标。
如果你们可以请给我一些了解eclipse插件开发的链接?任何易于理解的博客文章都会好得多?
答案 0 :(得分:1)
你应该做这样的事情。它是完全未经测试的,您需要添加大量的空检查和try-catch块,但下面的代码获取当前活动的编辑器,并将当前选择替换为作为参数传入的任何内容:
void method (String text) {
IEditorPart part = Workbench.getInstance().getWorkbenchWindows()[0].getActivePage().getActiveEditor();
IEditorInput editorInput = part.getEditorInput();
if (part instanceof ITextEditor) {
ITextEditor textEditor = (ITextEditor) part;
IDocument doc = textEditor.getDocumentProvider().getDocument(editorInput);
ITextSelection sel = textEditor.getSelectionProvider().getSelection();
doc.replace(sel.getOffset(), sel.getLength(), text);
}
}
这是一个混乱而复杂的问题,但那是适合你的Eclipse框架。
这可能是您查看Eclipse插件开发的好地方: http://www.ibm.com/developerworks/views/opensource/libraryview.jsp?search_by=Create+commercial-quality+eclipse+ide
Developer Works在Eclipse上有很多很好的内容,所以如果这个系列不是你需要的,你可以探索Developer Works来做其他事情。
答案 1 :(得分:0)
我建议this one。这是一个非常好的入门教程