这是我如何让它工作的。
使用插件
我已经下载了此处描述的Eclipse UI 主题插件(直接链接到存档)。但是我没有将其解压缩到目录中,而是将其解压缩到. 我还更改了它的权限以允许每个人修改它的文件。dropins
plugins
此时你有:
插件/com.github.eclipsecolortheme.themes_1.0.0.201207121019/
├── com
│ └── github
│ └── eclipsecolortheme
│ └── 主题
│ └── Activator.class
├── META-INF
│ └── MANIFEST.MF
├── plugin.xml
└── 主题
└── 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
│ └── ...
├── 图片
│ ├── gtkGrey.png
│ ├── gtkHandleDark.png
│ ├── gtkHandle.png
│ ├── gtkTSFrameDark.png
│ ├── gtkTSFrame.png
│ └── ...
├── META-INF
│ ├── eclipse.inf
│ ├── ECLIPSE_.RSA
│ ├── ECLIPSE_.SF
│ └── MANIFEST.MF
├── 平台.jar
├── plugin.properties
├── plugin.xml
└── ...
使用选项重新启动 Eclipse 后,-clean
您将在所有主题列表中看到一个新创建的项目:
UPD。1
对于我的安装,似乎对 CSS 的更改适用于 Eclipse 重新启动(File -> Restart,或者只是退出并手动启动它)。
我注意到的唯一奇怪的行为是~/.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
确实有诀窍。