在css / default.css中为Shell设置背景颜色无效

时间:2015-10-21 22:29:03

标签: css eclipse-plugin swt e4

我正在逐步完成“示例初学者指南的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”属性的值?

1 个答案:

答案 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;