搜索一些内容并在 Eclipse 搜索视图中更新它

Search some contents and update it in Eclipse search view

我已经创建了 Eclipse 插件来搜索一些内容并在 Eclipse 搜索视图中更新它,但我无法这样做,因为 ISearchResultPagecreateControl() 在其生命周期中只被调用一次。

每次我的搜索结果发生变化时我都需要调用它,这样我就可以删除所有以前的小部件并相应地使用新的小部件更新我的搜索结果。

createContents 方法只被调用一次。您可以在结果页面中执行的操作是使用 IQueryListener 来监听查询的更改。

createContents 方法中添加侦听器:

NewSearchUI.addQueryListener(queryListener);

您应该在页面 dispose 方法中删除侦听器:

NewSearchUI.removeQueryListener(queryListener);

请注意,org.eclipse.search.ui.text.AbstractTextSearchViewPage 会为您完成此操作,您可以扩展该页面而不是编写自己的完整 ISearchResultPage 页面。