我在View中使用sourceViewer,我有一个命令org.eclipse.ui.edit.findReplace并为命令创建一个处理程序来调用FindReplace操作。
我还定义了键绑定来调用命令(Ctrl + F)
现在我在View类中重写了getAdapter方法,并添加了一个检查,如果该类等于org.eclipse.jface.text.IFindReplaceTarget,则返回textViewer.getFindReplaceTarget()。
但是没有什么对我有用,在关键快捷方式(Ctrl + F)上,命令正在调用,也没有在getAdapter方法执行中为IFindReplaceTarget写入检查。
有人可以帮我解决出现问题或如何在SourceViewer中实现查找替换功能吗?
答案 0 :(得分:1)
我在Eclipse源代码中看不到任何使用Handler的内容,而是全部使用旧样式操作。这就是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);
}