我目前正在将Eclipse RCP应用程序从3.0迁移到4.4。由于迁移,标题栏的文本是“%trimmedwindow.label.eclipseSDK”而不是它应该是的字符串。我将标题设置为:
public void preWindowOpen(IWorkbenchWindowConfigurer configurer)
{
...
myConfigurer = configurer;
myProductName = configurer.getTitle();
}
...
public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective)
{
myConfigurer.setTitle(myProductName + " " + perspective.getLabel());
}
public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId)
{
myConfigurer.setTitle(myProductName + " " + perspective.getLabel());
}
...
有趣的是:如果我调试preWindowOpen(IWorkbenchConfigurer configurer)
的代码,变量configurer
中包含的标题栏的文本是正确的,但在执行myProductname = configurer.getTitle();
之后的值标题栏文本更改为“%trimmedwindow.label.eclipseSDK”。
这个 一个错误https://bugs.eclipse.org/bugs/show_bug.cgi?id=374116应该为Eclipse 4.4修复,但我仍然会遇到这种奇怪的行为。解决方法很简单:只需将文本设置为硬编码,但这不是很漂亮。我也不明白为什么我会得到这个bug,虽然它应该修复。
BTW:在Eclipse RCP 3.0中,当然一切正常。答案 0 :(得分:1)
此错误已针对Eclipse 4.5(Mars)修复。 Bug 374116 comment 8显示此错误的最后一次提交是在2015年3月到主分支。这是在2014年6月发布4.4之后。
您可以看到master (Neon)和4.5 (Mars)上的文件内容正确,但4.4 (Luna)没有修复。
如果你开始一个你最新的项目(4.5.1又名Mars.1)(截至2015年11月),我建议