eclipse中的插件开发

时间:2010-12-21 17:32:20

标签: java eclipse eclipse-plugin

这些天我的项目遇到了这个问题。我在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插件开发的链接?任何易于理解的博客文章都会好得多?

2 个答案:

答案 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。这是一个非常好的入门教程