一旦使用搜索匹配填充了 ISearchResultView,搜索结果查看器就会执行其余工作,启动适当的编辑器,并在用户选择不同的匹配时浏览至结果的位置。搜索基础结构按资源的名称对匹配结果进行排序。
如果另一个排序次序更适合于您的搜索结果,则可以提供一个或多个定制的排序程序。通过提供定制的排序程序,您可以允许用户从结果视图的排序依据弹出菜单中为您的匹配选择适当的排序次序。
使用 org.eclipse.search.searchResultSorters 扩展点来添加定制的排序程序。
以下示例说明 JDT 插件如何为 Java 搜索页面结果添加不同的排序程序。
<extension point="org.eclipse.search.searchResultSorters"> <sorter id="org.eclipse.search.internal.ui.ElementNameSorter" pageId="org.eclipse.jdt.ui.JavaSearchPage" label="%ElementNameSorter.label" tooltip="%ElementNameSorter.tooltip" icon="icons/full/clcl16/search_sortmatch.gif" class="org.eclipse.jdt.internal.ui.search.ElementNameSorter"> </sorter> <sorter id="org.eclipse.search.internal.ui.ParentNameSorter" pageId="org.eclipse.jdt.ui.JavaSearchPage" label="%ParentNameSorter.label" tooltip="%ParentNameSorter.tooltip" icon="icons/full/clcl16/search_sortmatch.gif" class="org.eclipse.jdt.internal.ui.search.ParentNameSorter"> </sorter> ... </extension>
必须指定实现搜索页面的 class。所提供的类应当扩展 ViewerSorter。
还指定了在排序依据菜单中可用来描述排序次序的 label 和 icon。pageId 指定应当对其激活排序程序的搜索页面。
将 pageId 指定为 "*"
将对所有页面激活排序程序。