cypher256's blog

Pleiades とか作った

黒背景 Eclipse Dark Juno でクールにキメる

重要なのは開発手法でも言語でもフレームワークでもない。クールにキメて今日から君もモテリプス。



Black Eclipse

上のイメージの黒を基調としたダーク系 Eclipse に必要なプラグインと設定方法です。


必要なプラグイン


設定方法


一般 > 外観 > 色テーマ で「Pastel」を選択。(どれでもいい)
一般 > 外観 のテーマで「Dark Juno」を選択。
Lightweight CSS エディターでビュータイトルの font-size 12 を 9 に変更。
これは Dark Juno プラグインに含まれる CSS ファイルを直接書き換えるのと同じです。


Moeclipse で Java エディター背景に適当な画像を設定


CSS スパイ。クイック・アクセスから CSS を入力し、CSS スパイを開く で開きます。
ウィジェットを選択すると、実際の部品が赤枠で囲まれ、プロパティーを変更すると見た目を確認できます。
このプラグインは必須ではありませんが、CSS を細かくカスタマイズする場合は便利です。

Stylish Eclipse

黒系じゃなく普通の感じでいいけど、Eclipse Juno のデフォルト・テーマはビューの間が広くてちょっとかっこ悪い、かといって、XP テーマに戻すのもなんだかあれ。という場合は Eclipse 4 Chrome Theme がお勧めです。設定画面からビュー間を調整できます。ちなみに Chrome という名前はブラウザの Google Chrome は無関係です。


必要なプラグイン


設定方法


一般 > 外観 > Chrome テーマ の右上の矢印からのプリセットが選択できます。ビューの幅を狭くするにはマニュアルを選択し、サッシュ幅を最小にします。細いサッシュを選択すると、Eclipse 3 系と同じような外観になります。


Eclipse Juno デフォルト・テーマ


Chrome テーマ > Chrome Modern - マニュアル、サッシュ幅最小


Chrome テーマ > Hello Kitty - マニュアル、サッシュ幅最小


Chrome テーマ > Chrome Modern - 細いサッシュ


Chrome Theme の CSS は Xtend で動的に生成されているため、Lightweight CSS エディターで編集することはできません。

フォントにこだわる

無料公開された Source Code Pro や MeiryoKe_Console を使うとさらにモテリプスだ。


Source Code Pro
[速報] ソースコードを表示するためのフォント「Source Code Pro」をアドビがオープンソースで無料公開
MeiryoKe_Console
dai1741's blog: Windows 7のEclipseのフォントをきれいなものにする
 
 
 
 
 

Play フレームワークの scala.html などの文字エンコード自動判別を無効化


Eclipse には JSP や HTML の文字エンコードを内容により自動的に判別する機能があります。ただ、これは JSP に include する断片ファイルや Play 2.0 フレームワークscala.html のように meta charset 指定などが無い部分的な HTML を持つ場合、UTF-8Shift_JIS と誤って判定され文字化けが発生します。


回避策として、下記の方が記載されているように、ファイルごとに文字エンコードを指定すれば対応可能ですがこれは面倒です。また、eclipse.ini に -Duser.language=en を指定すれば回避できますが、これは日時表記が英語になる問題があります。

htmlを開くと文字化けするとき - newta(にゅーた)の日記


原因は Dead Zone に記載されているように WST の日本語向けの自動判別のバグで、Eclipse 3.3 以降から現在の Juno でも改修されていません。

http://blog.goo.ne.jp/atlanto/e/f9c32302055b47f3521df3ee0967992d

Pleiades AOP で実行時にバグ修正: HTML 判別を無効化

そもそも内容から完全に文字コードを判別することはできないので Pleiades AOP で動的に無効化します。pleiades-config.xml に下記の AOP 定義を追加し -clean 起動することで回避できます。ちなみに meta タグに charset 指定がある場合はこの AOP 定義に関係なくそれが優先して使用されます。この AOP 定義は次回リリースの Pleiades に組み込む予定です。


plugins/jp.sourceforge.mergedoc.pleiades/conf/pleiades-config.xml

<!-- HTML 日本語文字エンコーディング自動判別無効化 (after) -->
<pointCut editPoint="execution" timing="after">
	<advice><![CDATA[
		return false;
	]]></advice>
	<jointPoint className="org.eclipse.wst.html.core.internal.contenttype.EncodingGuesser" methodName="canGuess"/>
</pointCut>

IDEA に Pleiades 日本語化プラグインを挿してみた

最新の IntelliJAndroid Studio などを日本語化する場合は、http://qiita.com/cypher256/items/a87179fbe8dd7f63ec4e を参照してください。




高速統合開発環境 IntelliJ IDEA に Pleiades を適用してみました。
ちょっとだけ日本語になりました。

やり方

  1. /plugins に pleiades.zip の plugins/jp.sourceforge.mergedoc.pleiades を配置
  2. /bin/idea.exe.vmoptions の末尾に -javaagent 追加

-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea
-javaagent:../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

IntelliJ IDEA ダウンロードページ
Pleiades 最新版ダウンロードページ

Juno スプラッシュ関連の Pleiades アップデート

Eclipse Juno Splash 画像

1.3.5.I20120722

  • Eclipse 4.2 翻訳差分追加
  • Eclipse 4.2 用の Pleiades スプラッシュ画像を追加
  • Eclipse 4.2 標準スプラッシュが画像サイズ変更によるクリーン・メッセージのサイズ可変対応
  • Eclipse 4.2 起動時の進捗バーがあまり進まない問題を AOP で改変修正
  • 起動オプションに -Xverify:none を指定すると Eclipse Workbench クラスの動的コンパイルに失敗する問題を修正

フリーズ不具合修正と eclipse.ini の設定値

E4 に対する Pleiades 本体の不具合を修正し、Pleiades All in One にも反映しました。

不具合修正・変更内容

Pleiades 1.3.5.I20120716
  • -clean 時などで発生していた E4 マルチスレッド強化によるデッドロック (フリーズ) 問題を修正
  • AOP ジョイントポイント判定の最適化により全体を高速化
  • 更新マネージャーからプラグインを更新した後の次回再始動時に -clean 動作するように修正
  • -clean 時、スプラッシュの下に「クリーンアップ中」メッセージを表示
Pleiades All in One 4.2.0.v20120716

Pleiades 更新
eclipse.ini の -Xmx を 1g に設定 (64 bit版)

Pleiades All in One の eclipse.ini メモリ設定

以下、ダウンロードページに記載したものを転載します。



ヒープの最小 Xms と最大 Xmx は同じにしたほういいの?

 サーバーで利用する Sun Server VMJRockit は同じサイズを指定して GC 回数を減らすことが推奨されています。ただし、これは GC の 1 回あたりの負荷が高くなり、コンカレント GC であってもクライアント GUI アプリケーションなどの場合は操作がブロックされるように感じられる場合があります。IBM JVM では、このような GC 負荷を減らすため -Xms にはアプリケーションで必要な最小サイズを指定することが推奨されています。Eclipse を実行する環境としても JVM の種類に関わらず -Xms には適切な最小サイズを指定することをお勧めします。

パーマネント領域の指定について

 -XX:MaxPermSize ではなく --launcher.XXMaxPermSize で指定しているのは、-XX:MaxPermSize が Sun JVM の拡張オプションであり、それ以外の JVM では起動できない場合があるためです。 Eclipse ではその問題を回避するために、--launcher.XXMaxPermSize が指定された場合、JVM ランチャーである eclipse.exe が Sun JVM に -XX:MaxPermSize を渡し、それ以外の JVM には何も渡しません。IBM JVM はパーマネント領域は自動制御されるため指定する必要がなく、JRockit ではパーマネント領域ではなくネイティブ領域 (物理メモリ - ヒープ) にクラス情報が格納されます。

-XX:MaxPermSize を指定しないと起動しない場合があるのはなぜ?

 前述の問題を eclipse.exe が解決するため、基本的には -XX:MaxPermSize を指定してはいけません。基本的にというのは、過去に少なくとも 2 つの問題があり、そのような場合は -XX:MaxPermSize の指定が必要な場合があります。1 つは Eclipse 3.3.0 が JVM に -XX:MaxPermSize を渡さないバグがありました。2 つ目は Sun が Oracle に買収されたときに、VM が保持する会社名文字列を Sun から Oracle に変更し (内部仕様変更として外部には告知されなかった)、不運にも eclipse.exe はこれを文字列判定していたため問題が発生していました。この問題は Java 6 update 21 で修正されています。

-Duser.name によるクラス作成時の Javadoc @author 自動補完

 デフォルトでは未設定ですが -vmargs 以降に下記のような指定を追加すると、クラス作成時に Javadoc @author タグに名前を自動補完することができます。
例)-Duser.name=cypher256

All in One 4.2 Juno の 32bit 版を追加

どれをダウンロードしたらいいか分かりにくいかもしれません。


eclipse.ini の -Xms を 256m に設定
Pleiades をマルチコア向けにパフォーマンス・チューニング
・64bit C/C++ 版の C++ ビルドで make や rm が必要だったため MSYS 追加 (mingw に上書き)

4.2.0 Juno (ジュノー) 対応 Pleiades リリース内容

cypher2562012-06-28


eclipse.org から統合開発環境 Eclipse 4.2 Juno がリリースされました。

Pleiades All in One 日本語 Eclipse 4.2.0

3 系のパッケージがなくなったため、Pleiades All in One も 4 系に移行し、ついでに 64 bit 版に移行しました。 ⇒ 2012/07/07 32bit 版もリリースしました。

4.2.0.v20110627

  • プラグインミドルウェアの 64bit 版への変更とバージョンアップ
  • JRE あり版に同梱の Java を 5, 6, 7 の 3 つから 6, 7 の 2 つに変更
  • JRE あり版に同梱の Tomcat を 5.5, 6, 7 の 3 つから 6, 7 の 2 つに変更
  • Subversiveネクター SVNKit 1.3.7 に加え 1.7.4 を追加 (設定で切換可能)
  • E4 で .metadata.default によるエンコーディング UTF-8 指定が困難なため、-Dfile.encoding 指定に変更 ⇒ v20120701 以降は自動設定されるように戻しました。
  • PHP 版の php.ini のデバッグを無効にしてしまっていたため有効化 (xdebug.remote_enable = 0 ⇒ 1)
  • C/C++ 版のコンパイラ MinGW をパーソナルビルド sezero に変更

ダウンロード
日本語化 Eclipse 4.2 Juno ジュノー | MergeDoc Project


Pleiades プラグイン日本語化プラグイン

Pleiades All in One には、このプラグインが含まれています。
Eclipse が動く環境であれば、OS や 32bit・64bit は問いません。
今回は主に E4 対応で、約 1 年ぶりの安定リリースになります。

1.3.4 - 2012.06.27

・E4 ワークベンチのイベントループ・タイミング変更による AOP 対応
・E4 用の preload 未実装のため eclipse.exe startup.cmd の添付を廃止
Java 1.3、1.4、5、6 API ドキュメントの URL 参照先を sun から oracle に変更 (7 は無し)
・他

ダウンロードPleiades 本体ダウンロード > 安定版 をクリック
Eclipse 日本語化 | MergeDoc Project

JStyle 改行空白表示プラグイン

Pleiades All in One には、このプラグインが含まれています。
今は Windows 64bit 版のみで他の OS 向けのものはありません。
⇒(20120704 追記) Windows 32bit 版をリリースしました。

Eclipse 4.2.0 向けにビルド(機能的な変更無し)

ダウンロード
JStyle - Eclipse 改行、タブ、全角空白を表示 | MergeDoc Project