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

5
我正在编写一个Eclipse插件,用于创建调试器的替代IDetailPane。
我创建了一个IDetailPaneFactory的实现,它返回我的IDetailPane的ID,并且它的.getDetailPaneTypes(...)方法被调用。
然而,现在DetailPaneManager.fPreferredDetailPanes字段是一个Map<Set<String>, String>类型,其内容如下:
{
  [DefaultDetailPane]=DefaultDetailPane
  [DefaultDetailPane, MyDetailPane]=DefaultDetailPane
}

我希望更改第二个项目,使其映射到"MyDetailPane"。

这是用户设置吗?我可以在设置中更改它吗?(尝试在首选项中查找,但未找到相关内容。)这是否在某个地方被硬编码了?我能否更改我的插件的Activator中的某些内容来控制它?(尝试在Activator.start(...)期间更改值,但此时fPreferredDetailPanes不包含映射中的第二个项目)


我知道这是很久以前的事了,但你能分享一下你的解决方案吗?我现在也遇到了同样的问题。 - lbarowski
1个回答

0

看起来在DetailPaneManager中的chooseDetailsAreaIDInSet方法通过迭代详细面板工厂并调用getDefaultDetailPane(selection)来选择首选面板,第一个返回此id的工厂获胜。

AvailableDetailPanesAction.SetDetailPaneAction菜单操作可以使用用户的选择覆盖此设置。


我找不到一种自动设置插件安装的方法,但AvailableDetailPanesAction.SetDetailPaneAction指向了一个对我来说足够好的解决方案。谢谢! - Daniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接