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

标签 css eclipse-plugin swt e4

我正在逐步完成“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/

相关文章:

javascript - 我的站点的 Firefox 缓存问题

java - Easy Struts 插件需要'org.eclipse.update.ui.forms

java - 如何将JHawk(插件)安装到Eclipse中

java - 仅输入一个字符时 KeyAdapter 发生多个按键事件

java - 如何缩放从 PNG 加载的透明 org.eclipse.swt.graphics.Image; java

javascript - 页面加载时背景颜色变化

html - IE的css 'pointer-events'属性替代

javascript - 几秒钟后,我自动生成的 "dots"粘在屏幕底部

eclipse - 如何在 Eclipse 中查找键绑定(bind)的命令 ID?

java - 将静态方法传递给按钮工厂 (Java)