我正在逐步完成“Eclipse 4 插件开发示例初学者指南”和“实践时间 - 使用 CSS 设计 UI 样式”部分。
此处的说明指定编辑“css/default.css”并添加以下内容:
Shell {
background-color: blue;
}
不幸的是,这没有效果。背景仍然是默认的灰色。
我能做些什么来调试它?
我尝试运行“CSS Spy”工具,但我不明白如何使用它。
更新:
这是我的整个 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 只是在属性中反射(reflect)该值?
对“org.eclipse.core.runtime.products”扩展点的引用很奇怪。当我查看非 e4 Eclipse 应用程序的“plugin.xml”文件时,我看到“扩展”和“扩展点”选项卡,但当我查看此示例 e4 应用程序的向导时却看不到。此外,我在这个生成的“plugin.xml”文件中没有看到任何对扩展或扩展点的引用。
输入到向导中的值除了用于(手动)同步“applicationCSS”属性的值外,是否用于任何其他用途?
最佳答案
您必须在 plugin.xml 的 product
条目中有一个 applicationCSS
条目(如果使用主题,则为 cssTheme
)没有这个 no 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>
您还应该在“CSS 样式”部分的“自定义”选项卡上的 .product 文件中指定 CSS 名称。
还要检查“css”文件夹是否包含在“build.properties”中
关于css - 在 css/default.css 中为 Shell 设置背景颜色无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33270348/