我正在逐步完成“示例初学者指南的Eclipse 4插件开发”,以及“使用CSS为UI设计样式”的“动作时间”部分。
此处的说明指定编辑“css / default.css”并添加以下内容:
Shell {
background-color: blue;
}
不幸的是,这没有效果。背景仍然是默认的灰色。
我可以做些什么来调试它?
我尝试运行“CSS间谍”工具,但我不明白如何使用它。
更新:
这是我的整个plugin.xml文件:
<plugin>
<extension id="product"
point="org.eclipse.core.runtime.products">
<product name="com.packtpub.e4.application"
application="org.eclipse.e4.ui.workbench.swt.E4Application">
<property name="appName" value="com.packtpub.e4.application">
</property>
</product>
</extension>
</plugin>
本节中的说明在此处未提及任何操作。哪里有更多关于这个“简单”应用程序应该包含在哪里的信息?
更新:
因此,书籍说明似乎忽略了对“applicationCSS”属性设置的需要。我按照指示手动添加了,这解决了问题。
关于“您还应该在.product文件中指定CSS名称”的建议会带来更多问题。
除了在plugin.xml文件中设置属性之外,我还不清楚为什么还要这样做。该向导页面上的字段并没有真正解释该值的用途,但它听起来像是与设置该属性具有相同的目的。
因此,我尝试删除“plugin.xml”文件中的手动设置,并使用向导浏览该文件。我保存了那个,然后检查了“plugin.xml”文件,因为我预期向导中的操作会填充该属性。没有变化。然后我再次查看向导并阅读该字段之后的语句,该字段说明了这一点(奇怪的是,在向导中选择该文本并按Ctrl-C不会将文本放入剪贴板):
'You must Synchronize (this word a hyperlink) the product's defining plug-in to ensure that the CSS file specified above is referenced in the plug-in's "org.eclipse.core.runtime.products" extension point.'
所以我试着点击那个超链接。这将属性插入到plugin.xml文件中。这带来了更多问题。
如果将“上面指定的CSS文件”指定为“plugin.xml”文件中的“applicationCSS”属性显然很重要,为什么开发人员需要采取慎重行动来实现这一目标,而不是Eclipse只是镜像了属性中的那个值?
对“org.eclipse.core.runtime.products”扩展点的引用很奇怪。当我查看非e4 Eclipse应用程序的“plugin.xml”文件时,我会看到“Extensions”和“Extension Points”的选项卡,但是当我查看此示例e4应用程序的向导时却看不到。另外,我在这个生成的“plugin.xml”文件中没有看到对扩展或扩展点的任何引用。
输入向导的值是否用于ANYTHING,除非用它来(手动)同步“applicationCSS”属性的值?
答案 0 :(得分:0)
你必须在plugin.xml中的applicationCSS
条目中有一个product
条目(如果使用主题,则为cssTheme
),否则不会有CSS样式。
类似的东西:
<extension
id="product"
point="org.eclipse.core.runtime.products">
<product
name="greg.e4App2"
application="org.eclipse.e4.ui.workbench.swt.E4Application">
<property
name="applicationCSS"
value="platform:/plugin/greg.e4App2/css/default.css">
</property>
<property
name="appName"
value="greg.e4App2">
</property>
</product>
</extension>
您还应该在&#39;自定义&#39;上的.product文件中指定CSS名称。 “CSS样式”中的选项卡&#39;部分。
同时检查“css&#39;文件夹包含在&#39; build.properties&#39;
中