Eclipse 4.2 Juno CSS

cgp*_*cgp 9 css eclipse

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

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

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

Eld*_*mov 15

以下是我如何使用它.

使用插件

我已经下载了这里描述的Eclipse UI主题插件(直接链接到存档).但我没有把它提取到目录中,而是将其提取出来.我还更改了其权限,允许每个人修改其文件.dropinsplugins

此时你有:

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>
Run Code Online (Sandbox Code Playgroud)

可以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>
Run Code Online (Sandbox Code Playgroud)

可以将新的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后,您将在所有主题列表中看到新创建的项: 新注册的主题

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)
    ...
Run Code Online (Sandbox Code Playgroud)

而且似乎我说错了只是重新启动Eclipse以注册新主题就足够了.但是,eclipse -clean诀窍.