9

CSSスタイルシートを介してEclipseJuno4.2のルックアンドフィールを単純に更新しようとしています。私が見たチュートリアルがいくつかあり、スタックオーバーフローの質問があります:

CSSスパイツールをインストールしましたが、これでは一時的な変更のみが可能です。はぁ。私はorg.eclipse.platform_4.2.0.v201206081400プラグインフォルダに移動し、をいじくり回しましたがplugin.xml、そこで行った変更はどれも効果がありません(再起動後でも)。

Eclipseプラグインプロジェクト全体を作成、コンパイル、およびローカル環境にインストールせずに、新しいテーマを作成して適用するにはどうすればよいですか?または、さらに良いことに、既存のテーマを変更することはできますか?

4

2 に答える 2

15

これが私がそれを機能させた方法です。

プラグインを使用する

ここで説明されているように、 Eclipse UIテーマプラグインをダウンロードしました(アーカイブへの直接リンク)。しかし、それをディレクトリに抽出する代わりに、私はそれをに抽出しました。また、すべてのユーザーがファイルを変更できるようにアクセス許可を変更しました。dropinsplugins

この時点で、次のようになります。

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トリックは行います。

于 2012-08-10T20:29:01.537 に答える
3

cssファイルに変更を加えた後、コマンドラインから-cleanオプションを指定してEclipseを起動します。それ以外の場合、変更は反映されません。(または、http://eclipsecolorthemes.org/をご覧ください)

于 2012-08-10T10:38:56.763 に答える