我在 View 中使用 sourceViewer,我定义了命令 org.eclipse.ui.edit.findReplace 并为该命令创建一个处理程序以调用 FindReplace 操作。
我还定义了按键绑定(bind)来调用命令(Ctrl+F)
现在我已经重写了 View 类中的 getAdapter 方法,并添加了一个检查该类是否等于 org.eclipse.jface.text.IFindReplaceTarget 然后返回 textViewer.getFindReplaceTarget()。
但对我来说没有任何作用,无论是快捷键(Ctrl+F)、命令都没有调用,也没有在 getAdapter 方法中为 IFindReplaceTarget 编写的检查正在执行。
谁能帮我看看出了什么问题或者如何在 SourceViewer 中实现查找替换功能?
我在 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);
}
我是一名优秀的程序员,十分优秀!