如何覆盖“首选项-C / C ++-构建-环境”中的“环境”页面。 (我想覆盖“恢复默认值”键的方法)

时间:2019-02-12 08:40:53

标签: eclipse eclipse-plugin eclipse-rcp eclipse-cdt

我想重写org.eclipse.cdt.ui.newui.EnvironmentTab类的performDefaults方法。 (我使用eclipse 4.4和cdt 8.6.0)。

我尝试扩展org.eclipse.cdt.ui.cPropertyTab选项卡元素。对于班级,我将EnvironmentTab复制为新的班级名称。我输入“ Environment”作为环境名称,并假设其名称与首选项中的名称相同,这意味着覆盖现有页面。最终,作为父母,我给了一个新类,该新类按照工具提示中的建议从AbstractPage扩展。 (这是org.eclipse.cdt.ui.newui包中的抽象类),并且isSingle方法被覆盖,因为返回true。

将名称设置为首选项中不存在的名称后,我希望它在首选项中显示为新页面,但是它不起作用...

我在环境偏好设置中通过插件间谍(Alt + Shift + F1或Alt + Shift + F2)在org.eclipse.cdt.managedbuilder.ui plugin.xml中找到了当前的环境定义...

这里有2个与环境页面和选项卡相关的扩展点...首先是org.eclipse.preferencePages,如果我定义一个新页面,即使它具有相同的名称,它也会出现在首选项窗口中。但是我不想要新页面而是覆盖现有页面。因此,我专注于org.eclipse.cdt.ui.cPropertyTab:

我将该类设置为扩展的org.eclipse.cdt.ui.newui.EnvironmentTab类。 我使用了相同的名称,但单个选项卡将忽略它。对于父级,我给了相同的名称org.eclipse.cdt.managedbuilder.ui.preferences.PrefPage_Env,但它继续调用org.eclipse.cdt.ui.newui.EnvironmentTab类。如何使其调用自己的扩展替代EnvironmentTab类。

0 个答案:

没有答案
相关问题