我正在开发一个eclipse插件。
我想只在编辑器中某个文件类型处于活动状态时启用工具栏上的按钮。看似容易,我使用了以下代码:
@Override
public boolean isEnabled() {
if(FileGetter.getCurrentEditorFile().getFileExtension().equals("jvw"))
return true;
return false;
}
在这个例子中," getCurrentEditorFile()"通过PlatformUI等获取活动编辑器。
在运行eclipse时,这非常有效!在编辑器中切换文件会导致按钮启用/禁用具有不同扩展名的文件。
然而,在关闭eclipse时,它会提供数百行错误跟踪,似乎在循环中。
错误跟踪(其中一些)可以在这里找到 - > http://pastebin.com/X4pe1n4b
我相信当调用isEnabled时,它会获取编辑器(检查文件扩展名),然后导致按钮isEnabled再次触发,形成一个无限循环。
如果这是正确的,我不明白为什么它只会在关闭日食时发生,而不是在一般使用过程中发生。
我知道这是一个模糊的问题(对不起,堆栈溢出)但是,任何模糊的想法/建议都会受到赞赏。
谢谢! 另外,如果您愿意,可以随意提出更多问题。