31日間ReSharper一周 ... それIDEAでもできるよ

思いつきではじめてみたが,長続きしなさそうなエントリだ.ReSharperもIDEAも同じJetBrains社製だから,基本同じ事できるのにね.

Day 0: 基礎とインストール(http://matarillo.com/resharper/day00.php

特に語る事はない.

Day 1: 灰色と赤と波下線(http://matarillo.com/resharper/day01.php

これもまあ同じ.だいたい,こんな基本的な事はNetBeansEclipseだってふつーにやってる.たしかにNetBeans5.5は赤線出るまで,ちょっと時間がかかってイラっとくるけど,NetBeans6.0では随分改善されてるから安心していい.

Day 2: カラー・バーと緑の小箱(http://matarillo.com/resharper/day02.php

この不思議なインターフェイスの元祖は何なんだろ?一番最初に見たのはIDEAだけど,NetBeansも同じインターフェイスを採用している.IDEAでも「Marker Bar」と読んでいるが,NetBeansでの正式名称は知らない.NetBeansのヘルプを開いて「Error Stripe(日本語の場合は「エラーストライプ」で合ってる?)」で検索すると,単にMarkerとだけ記されてる.

先端に小さな箱があるのは、ファイル全体の状態がすぐわかるようにだ。ソースファイルに1つでもコンパイルエラー(カラーバーにおける赤の目盛り)があれば、箱は赤い。エラーは全くないけれど、ReSharperの警告(カラーバーにおける黄色い目盛り)があるなら、箱は黄色い。このゲームの目的は、箱を緑色にすることだ。

ReSharperはそうかも知れないけど,IDEAで箱を緑色にするのは不可能なんじゃないかと思う.Java Power ToolsCode Qualityの投票で1位を取っている事からも分かるように,IDEAにはしつこいくらいのコード検査項目がある.その数なんと632項目!!
さらに追加でInspection系プラグインも入れると,もう数える気にもならない.:-(


どの項目だけ検査するかは細かく設定できるんだけど,それでも緑色にするのは骨が折れる作業だ.せいぜい検査内容を文法のみとかにしないと緑色を見る事は,まず滅多に無い.その事はIDEAの開発者も十分理解しているらしく,画面下のステータスバーにいるコード検査をするおっさんは「Hector」と名付けられている.このおっさん,検査レベルを弱くするとそっぽ向くのが面白い.

そういえば,同じインターフェイスを採用しているNetBeansだけど,こっちは黄色を見る事が滅多に無い.

この機能が唯一ダメなのは、ファイル単位だってことだ。プロジェクト(またはソリューション)全体が緑の箱かどうか簡単に確認する方法はない。そして、すぐにでもその機能が欲しいと思うことになる!

IDEAでもバージョン5まではそうだった(はず).でもバージョン6からはエラーマークが付いているファイルがあると,プロジェクトウィンドウに赤い波線が出るので,ずいぶん分かりやすくなった.だからReSharperもそのうち,同じくなるんじゃね?

NetBeansも絶対,このインターフェイスに文句言われるから6.0では何かしといたほうがいいと思う.特にEclipseのProblems Viewに慣れていると「もう信じられないくらいダメ」らしい.まあ気持ちはわかる.
(追記)NetBeans6.0では何とかなったようだ.

Day 3: ReSharperサバイバルガイド、あるいは、僕のキーバインドを知りませんか?(http://matarillo.com/resharper/day03.php

キーバインドは随分カスタマイズしてるし,なによりIdeaVIM入れてるからな.
IDEAのキーカスタマイズで気に入ってるのは,大概のキーバインドを設定できることだ.カーソル移動だってカスタマイズできるぞ.
IdeaVIMを常用してるあたしは,カーソルの上下移動をそれぞれ「ALT+K」「ALT+J」にも充ててる.この意図がわかるかな?


そうそうDescribe Keyっていうプラグインがすこぶる便利だよ.

NetBeans IDE 6.0 Information

RubyサポートとかSOAサポートとかより,プラグインマネージャが使いやすくなったのが好印象.

ちょっと分かりづらかったけど,直接nbmファイルをインストールする場合は,Dowonlodedタブを開き,真ん中ら辺にある「Add Plugins...」から行う.
ちなみにIDEAのプラグインマネージャはこんなの(これもかなり使い勝手が良い).