我在 Eclipse 3.6 中添加了一个自定义 LabelDecorator,它替换了 SVN 团队文本装饰添加的神秘用户名。 SVN 团队装饰器允许您添加作者标签。我所做的是添加另一个装饰器,用用户的实际名称替换这些作者字符串(它们是公司特定的短名称,带有数字)。
而 SVN 团队文本装饰扩展包资源管理器:
... com.company.package · XY9723 · [30.02.11 19:11]
我将其替换为
... com.company.package · Neil Diamond · [30.02.11 19:11]
现在,为了完成任务,我添加了一个偏好页面,用户可以在其中指定属性(姓名、名字、出生日期、公司名称、电话等),这些属性应该用作替换。每当按下“应用”或“确定”时,我想用新选择的属性更新包资源管理器(或任何 svn 团队装饰资源)。
目前,资源仅在您按下“应用”或“确定”后才会更新 和 手动折叠/展开资源管理器中的资源之一。
有什么我可以触发的事件吗?
最佳答案
使用 IDecorationManager 接口(interface):
IWorkbench workbench = ...;
IDecoratorManager manager = workbench.getDecoratorManager();
在偏好页面 LabelProvider 内:
ILabelDecorator decorator = manager.getLabelDecorator("com.plugin.mydecorator");
if(decorator != null){ // decorator is enabled
LabelProviderChangedEvent event = new LabelProviderChangedEvent(demoDecorator);
// update specific resources
fireLabelEvent(event, arrayOfResourceToUpdate);
// or update all resources
fireLabelEvent(event);
}
-> 见 Understanding Decorators
没有 LabelProvider
manager.update("com.plugin.mydecorator");
-> 见 DecoratorManager.java
关于eclipse - 如何手动更新包资源管理器(首选项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5230953/