これが私がそれを機能させた方法です。
プラグインを使用する
ここで説明されているように、 Eclipse UIテーマプラグインをダウンロードしました(アーカイブへの直接リンク)。しかし、それをディレクトリに抽出する代わりに、私はそれをに抽出しました。また、すべてのユーザーがファイルを変更できるようにアクセス許可を変更しました。dropins
plugins
この時点で、次のようになります。
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を起動すると、このテーマは[外観]->[DarkJuno]で利用できるようになります。
プラグインなし
調べてみると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
├──platform.jar
├──plugin.properties
├──plugin.xml
└──..。
オプションを指定してEclipseを再起動-clean
すると、すべてのテーマのリストに新しく作成されたアイテムが表示されます。

UPD。1
私のインストールでは、CSSへの変更は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
トリックは行います。