1

我在视图中使用 sourceViewer,我定义了命令 org.eclipse.ui.edit.findReplace 并为调用 FindReplace 操作的命令创建了一个处理程序。

我还定义了键绑定来调用命令(Ctrl+F)

现在我在 View 类中覆盖了 getAdapter 方法,并添加了一个检查类是否等于 org.eclipse.jface.text.IFindReplaceTarget 然后返回 textViewer.getFindReplaceTarget()。

但是没有什么对我有用,无论是快捷键(Ctrl + F),命令正在调用,也没有为getAdapter方法中的IFindReplaceTarget编写的检查正在执行。

谁能帮助我出了什么问题或如何在 SourceViewer 中实现查找替换功能?

4

1 回答 1

1

我在 Eclipse 源代码中看不到任何为此使用处理程序的东西,而是它们都使用旧样式的操作。这是做什么org.eclipse.jdt.internal.debug.ui.display.DisplayView的:

FindReplaceAction findReplaceAction = new FindReplaceAction(bundle, "find_replace_action_", this); 
findReplaceAction.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_FIND_AND_REPLACE);
setGlobalAction(ActionFactory.FIND.getId(), findReplaceAction);

protected void setGlobalAction(String actionID, IAction action) {
    IActionBars actionBars = getViewSite().getActionBars();
    actionBars.setGlobalActionHandler(actionID, action);
}
于 2013-11-04T21:32:54.040 回答