当前位置: 首页 > 知识库问答 >
问题:

如何在Eclipse PDE中从活动编辑器中获取文本

鄢翰藻
2023-03-14

我有一个处理程序,我想在其中从我的工作台中的活动编辑器获取文本。从下面的屏幕截图中,我想获得test.java(“public class test...”)中的所有内容。

我已经成功地在“源”菜单下添加了一个新命令。只是不确定现在从哪里获取活动编辑器中的文本。到目前为止,我在尝试获取文本(它只是在弹出窗口中显示文件名)时所获得的信息如下:

package generatebuilderproject.handlers;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.jface.dialogs.MessageDialog;

public class GenerateBuilderHandler extends AbstractHandler {

    public GenerateBuilderHandler() {
    }

    public Object execute(ExecutionEvent event) throws ExecutionException {
        IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
        IEditorPart editorPart = HandlerUtil.getActiveEditor(event);

        MessageDialog.openInformation(
                window.getShell(),
                "GenerateBuilderProject",
                editorPart.getEditorInput().getName());
        return null;
    }
}

共有1个答案

酆翔宇
2023-03-14

拥有iEditorPart之后,可以尝试以下操作:

IEditorInput input = editorPart.getEditorInput();
if (input instanceof FileEditorInput) {
    IFile file = ((FileEditorInput) input).getFile();
    InputStream is = file.getContents();
    // TODO get contents from InputStream
}
 类似资料:
  • 我想在用户在EditText中键入文本时将文本放入我的应用程序中的某个字符串中,并使用它来生动地在活动上显示它(在不同的视图中...) - 就像谷歌的实时/即时搜索工作一样...

  • 我现在已经设置了两个GitHub操作工作流。一个用于将图像发布到jfrog注册表,另一个用于将带有新标记的图像提升到jfrog artifactory。 我试图在推送工作流中使用github.event.number,但由于某种原因,如果不是pull_request,您无法获得PR号码... msgstr"守护进程的错误响应:清单为(公司jFrodAritFactory url)-未找到:清单未知

  • 问题内容: 我陷入了Eclipse 4 RCP应用程序的一个问题。我需要记录一些事件。我需要以某种方式获得对记录器的引用。我知道如何使用来做到这一点,但是我仍然找不到在没有依赖注入的情况下如何获得的方法,而依赖注入无法在激活器中使用。有人知道吗,请问如何解决这个问题? 非常感谢 问题答案: 令人遗憾的是,没有注射就无法获得。关于如何在未附加到应用程序模型的类中使用eclipse 4 DI的答案中写

  • 我想在按下按钮时将一个活动中编辑文本的值传递给另一个活动,并在我的代码中使用该值。然而,在这些活动之间还有一个活动,我不想在其中使用该值 我的活动1包括: 用户从Activity1转到Activity2 活动2 用户从Activity2转到Activity3 活动3 在这里,我想将该值用作字符串。

  • 我有一个可编辑的div内容,我保存了一些html文本。我添加了属性< code>runat="server",并希望用c#获得html文本内容。有人能帮我吗?这是我的< code>div PS:不起作用!! PS2:我的目的通常就像这里一样。我想从允许的div中获取数据并将其用作HTML字符串 已解决:

  • 我正在准备一个eclipse插件,用于检查测试套件中的代码质量(编译器错误/警告/语法检查是在默认编译器中完成的)。如果测试代码出了问题,我们想通知测试套件的开发人员,比如GOTO jumps越过了标签,可能会导致无限循环(测试套件很旧,它们不是java或任何普通语言的)。 我们希望在特定行和特定消息中报告带有警告的IMarker(我在某个ArrayList中包含了行和消息,现在我只需要将它们放在