如何更改Eclipse插件中的默认IDetailPane?

Dan*_*iel 5 java eclipse eclipse-plugin

我正在编写一个Eclipse插件,IDetailPane为调试器创建一个替代方案.

我创建了一个IDetailPaneFactory返回我IDetailPane的ID 的实现,并.getDetailPaneTypes(...)调用它的方法.

但是,现在这个领域DetailPaneManager.fPreferredDetailPanes是一个Map<Set<String>, String>内容:

{
  [DefaultDetailPane]=DefaultDetailPane
  [DefaultDetailPane, MyDetailPane]=DefaultDetailPane
}
Run Code Online (Sandbox Code Playgroud)

我想更改第二个项目,以便它将映射到"MyDetailPane".

这是一个用户设置,我可以在设置中的某处更改吗?(尝试在偏好中找到它但没有看到任何相关的东西).这是硬编码的吗?我可以更改插件中的某些内容Activator来控制它吗?(尝试在我的期间更改值Activator.start(...),但此时fPreferredDetailPanes不包含地图中的第2项)

gre*_*449 0

看起来 中chooseDetailsAreaIDInSet的方法DetailPaneManager通过迭代调用 的详细信息窗格工厂来选择首选窗格getDefaultDetailPane(selection),第一个从中返回 id 的工厂获胜。

菜单AvailableDetailPanesAction.SetDetailPaneAction操作可以根据用户的选择来覆盖它。