QuickLookプラグインを作ってみたら,すでに相当機能があってガッカリするの巻

そこそこの規模で他人さまが組んだコードを読んでいるとき,ふと「IntelliJにもOSXのQuickLookみたいなのあったら便利かも」と思ったので,作ってみた。気持ち的には,OSXのQuickLookというより,懐かしの秀見えだったりするんだがの。:-)


Project Tool Window上で適当なファイルを選び,おもむろに「Ctrl+1」を押すとこうなる。

#Ctrl+1はIntelliJじゃ全然大事なキーじゃないので,リマップしてる。


と,ここまで出来てから実は「Quick Definition Lookup」でも,相当の事が出来るのに気付いた。嘘だと言ってよ,バーニィ! orz


イヤ,ちょっと待て,ここは素直に喜ぼうじゃないか。しょせん,IntelliJ本体のShowImplementationsActionをほげって2時間くらいで作ったやっつけプラグインだしな。...と思いつつも諦め悪く,双方の違いを探ってみたら微妙な違いが見えてきた。


そのひとつが,イメージファイルのクイックルック。実はこれ,IDEA9M1だとProject Tool Window上でも出来る*1んだが,どうゆうワケか「Goto File...」中は発動しなかった(自前プラグインは発動する)。


これがうれしいか?と言われるとビミョーだ。IDEA9で出来るようになるかも知れないし,さほど用のある機能でもない。


もうひとつの違いは「Quick Definition Lookup」より自前プラグインのほうが発動が早いって点。本来は「定義情報の参照」だからか,なんかしらの探索を行っているようで,選択したファイルによってはプレビューするまでに,ちょっとした間がある。対して自前プラグインは,なんも考えてないんで,即時プレビューできる。これは良いアドバンテージだ。:-D


そんなワケで, 車輪の再発明だから捨ててしまおうと思ったが,もうちょっと延命してみることにした。できれば手直ししてみたい所もあるしね。
しょうも無いコードだけど,一応晒しておきます。もし「興味ある」なーんて物好きな方がおりましたら,お手数ですが自前でビルドしてください。m(_ _)m
#OpenAPI以外の内部APIも使っているので,Plugin SDKにはidea.jarも加えてね。
http://gist.github.com/141273


ps.
なんかマシな独自性が見いだせたら,これをネタに今年のプラグインコンテストに応募しようかな。IdeaSabotterは,会社からTwitterアク禁くらって断念せざるを得なくなってしまったしの。
#自宅で開発する,という発想がはなから無い。:-)

*1:なんでか,IDEA8は出来なかった