Eclipse 4.2 Juno CSS

时间:2012-08-06 17:28:14

标签: css eclipse

我试图通过CSS样式表简单地更新Eclipse Juno 4.2的外观。我看过几个教程,还有一个stackoverflow问题:

我已经安装了CSS spy tool,但这只能让我进行临时更改。叹。我已进入org.eclipse.platform_4.2.0.v201206081400插件文件夹,并使用plugin.xml进行了修改,但我所做的任何更改都没有任何效果(即使重启后)。

如何创建新主题并应用它而不创建,编译和安装整个eclipse插件项目到我的本地环境?或者,更好的是,我可以修改现有的主题吗?

2 个答案:

答案 0 :(得分:15)

以下是我如何使用它。

使用插件

我已按照heredirect link所述将 Eclipse UI主题插件下载到存档中。但是我没有将其提取到dropins目录中,而是将其提取到plugins中。此外,我更改了其权限,允许每个人修改其文件。

此时你有:

plugins/com.github.eclipsecolortheme.themes_1.0.0.201207121019/
├── com
│   └── github
│       └── eclipsecolortheme
│           └── themes
│               └── Activator.class
├── META-INF
│   └── MANIFEST.MF
├── plugin.xml
└── themes
    └── css
        └── juno.css

juno.css文件就是你想要的。启动Eclipse后,此主题将在 Appearance - >下提供。 Dark Juno

没有插件

在查看plugin.xml后,我知道如何在不使用任何插件的情况下创建新主题。

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="org.eclipse.e4.ui.css.swt.theme">
      <theme
            basestylesheeturi="themes/css/juno.css"
            id="com.github.eclipsecolortheme.themes.darkjuno"
            label="Dark Juno">
      </theme>
   </extension>
</plugin>

可以将org.eclipse.e4.ui.css.swt.theme扩展点添加到现有插件,例如org.eclipse.platform_4.2.0.v201206081400。此外,其plugin.xml已经具有此扩展点,您唯一需要做的就是添加适当的theme。请注意,它必须具有唯一的id

      <theme
            basestylesheeturi="css/my_theme.css"
            id="org.eclipse.e4.ui.css.theme.my_theme"
            label="My Theme Name">
      </theme>

可以将新的CSS文件放入css目录,该目录已包含默认的主题集。

org.eclipse.platform_4.2.0.v201206081400/
├── ...
├── css
│   ├── e4_basestyle.css
│   ├── e4_classic_win7.css
│   ├── e4_classic_winxp.css
│   ├── e4_default.css
│   ├── e4_default_gtk.css
│   └── ...
├── images
│   ├── gtkGrey.png
│   ├── gtkHandleDark.png
│   ├── gtkHandle.png
│   ├── gtkTSFrameDark.png
│   ├── gtkTSFrame.png
│   └── ...
├── META-INF
│   ├── eclipse.inf
│   ├── ECLIPSE_.RSA
│   ├── ECLIPSE_.SF
│   └── MANIFEST.MF
├── platform.jar
├── plugin.properties
├── plugin.xml
└── ...

使用-clean选项重启Eclipse后,您将在所有主题列表中看到新创建的项目: The newly registered theme

UPD。 1

对于我的安装,似乎对Eclipse的更改适用于Eclipse重新启动(文件 - >重新启动,或者只是手动退出并启动它)。

我注意到的唯一奇怪的行为是来自~/.e4css目录(如果存在)的CSS文件覆盖了插件目录中的CSS文件。我不知道它来自哪里,但我可以安全地从中删除任何文件。我也不知道这个目录甚至存在于非Linux系统上,但如果确实如此,我想它应该位于用户主目录的某个位置,或者可能位于Documents

UPD。 2

我只是尝试从头开始添加一个新主题,并注意到上面的XML中存在一个小错误。为了正确注册新主题,必须具有唯一的id属性。否则你会收到一个错误:

java.lang.IllegalArgumentException: A theme with the id 'org.eclipse.e4.ui.css.theme.e4_default' is already registered
    at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.registerTheme(ThemeEngine.java:186)
    ...

似乎我说错了只是重新启动Eclipse以注册一个新主题就足够了。但是,eclipse -clean可以解决问题。

答案 1 :(得分:3)

在css文件中进行更改后,从命令行启动带有-clean选项的eclipse。否则不会反映变化。 (或者看看http://eclipsecolorthemes.org/