31日間ReSharper一周 ... それIDEAでもできるよ(その3)

今まで気にしてなかった事も知れて,結構楽しいなコレ。

Day 8: 使用箇所の検索(http://matarillo.com/resharper/day08.php

お恥ずかしながら,このエントリを読んで初めて「Find Usages...(ALT+F7)」なるコマンドがIDEAにもあることに気がついた。あはは。
まあ,だってね。大抵の事は「Call Hierarchy(Ctrl+ALT+H)」で事足りるので,気にした事無かった。あと「Find in Path...(Ctrl+SHIFT+F)」。


とは言え,気づいてしまった以上どうしようかと言えば,クラスやインターフェイスの利用箇所を探すのに便利そうなので使ってみようと思う。実のところ,IDEAには「Structural Search & Replace(Ctrl+SHIFT+S, Ctrl+SHIFT+M)」という,NetBeansJackpotみたいな超強力な検索・置換機能を持っているんだが,あまりに強力過ぎて使い方が分からない。:-D
そんな宝の持ち腐れ機能をありがたがってもしょうがないので,「Find Usages...」は手頃で良いんじゃない。

#IDEA7からは検索結果にプレビューが付いた。


ついで言えば,引数やローカル変数,メンバ変数の類いは「Find Usages in File...(Ctrl+F7)」か「Highlight Usages in File(Ctrl+SHIFT+F7)」のほうが便利だ。
#IdeaVIMを中心にキーカスタマイズしてるあたしは,「Highlight Usages in File」を"Ctrl+SHIT+Colon"に当ててる。


あと,ちょっとマシンパワー喰うけどIdentifier Highlighterもオススメだ。これ,IDEAだとプラグイン入れないと出来ないけど,NetBeansEclipseは素でできてたような気がする。
それと「31日間ReSharper一周」では触れてなかったようだが,ReSharperの「Ctrl+ALT+F7」をマネしたJump To Usageも便利そうよ(こちらも,結構重い)。


ps.
ほっとくと忘れちゃいそうなので書いとく。IDEAはほぼ全ての検索結果をクリップボードにコピー可能だ。影響調査など何かしらの調査結果を求められる場合,この手の検索結果を転記するんだが,それが出来るのってIDEAくらいしか知らない。些細な事だけど,できると便利。
(追記)読み返してみると,意味不明な日本語だな.ってなワケでムービーつけた.

Day 9: パラメータ情報(http://matarillo.com/resharper/day09.php

あーこれねー。随分前からある機能なんだけど,ほとんど使った事が無い。そんなオーバロードを多用するコードを書かないからかね〜?なんでか知らんけど。このエントリ読み直しても,IDEAの「Parameter Info(Ctrl+P)」の便利さに気づけないので,これからも使う事はそうあるまい。


似たような機能で,自分がどこのコンテキスト(クラスやメソッド)に居るかを表示する「Context Info(ALT+Q)」も滅多に使わない。


よく使うのは「Quick Documentation Lookup(Ctrl+Q)」。いわゆる「Javadocの表示」。でもIDEAのコレは,NetBeansEclipseの同等の機能と比べ,見た目がキレイじゃない。:-(

Day 10: 型に移動(http://matarillo.com/resharper/day10.php

はいはい「型に移動」ね。ここで使える

は,すげー便利だ。確かIDEAが元祖だったと思うけど,みんな便利だと思ったので,今やNetBeansでもEclipseでも使えるからJava屋にとってはあんま珍しくない(と思う)。


ちょっとしたトリックをひとつ。上の2つの他に「指定した文字で終わる」ってのも出来る。それは,こんなの。

  • 指定した文字で終わる。検索文字を入力したならば,さらにスペースバーを一回叩く。つまり,もし「*Dao 」と入力したならMyTableDaoとHogeDaoにマッチするが,MyTableDaoImplやTableDaoSupportなどはマッチしない。


ReSharperの場合「型に移動(Goto Type)」だけのようだが,IDEAの場合は「Goto Class...(Ctrl+N)」「Goto File...(Ctrl+SHIF+N)」「Goto Symbol...(Ctrl+ALT+SHIFT+N)」の3種類ある。
#IDEA7になると,「Goto Action」てのも増えるみたいだけど割愛。


Class, Fileは推して知るべし。Symbolってのはメソッド名とかフィールド名も検索対象になるようだ。

#Goto Class。主に使うのはこれ。



#Goto File。HTMLとかJSPとかはこっち(Javaファイルにも移動できる)。



#Goto Symbol。メソッドに飛びたい場合はこれ。


良い悪いの評価は好みによると思うが,探したい対象(クラスなのかファイルなのか,シンボルなのか)に応じてコマンドを使い分けないといけないのが特徴と言えよう。
これはIDEA全般に総じて言えることなんだけど,このIDE,利用者がやりたいことを支援する機能は豊富なんだけど,やりたいことがよく分かってないのを支援するには長けてない。むしろ,そうゆう場合はかなり不親切だと思う*1。なんで,何となく使ってて「おっと,ラッキー」みたいなことはあんまり無いな。


言うまでもないが,このGoto系コマンドはかなり便利な部類の機能だ。特にアタシはプロジェクトウィンドウが出っぱなしの,いわゆる3ペイン型のIDEが好きではないので,この機能は大変重宝してる。だってね,かなり自由にファイルの移動ができるので,わざわざプロジェクトウィンドウを開きっぱにする理由がないからね。


あえて苦言を呈するのであれば,ショートカットキーのコンビネーションが複雑過ぎる事だ。これもIDEA全般に通じるんだけど,平気で「Ctrl+ALT+SHIFT+...」とかの組み合わせが出てくる。これには正直閉口してるので,気になったそばからキーバインドを変更している。:-P

*1:こっちはNetBeansのほうが得意そう

業務マニュアルの作り方・活かし方

マニュアルとは

企業の知的財産であり,最新のノウハウの集大成

とし,マニュアル作成の組織作りから,マニュアル作成〜活用〜改訂にいたる運営方法まで網羅した本。この本自体が,「業務マニュアルの作り方」のマニュアルにもなっている。
マニュアルをすごく重要なアイテムと位置づけ,もっと本気で活用せいと訴えかける。その意気込みはよーく分かるんだけど,そこまで大げさにするのは難しいと思う。


でも,マニュアル作成の手がかりとして始める「業務・作業の洗い出し,分類」などは,下手なユースケース本より分かりやすく,業務分析などにすぐ活用できる。実際,ここ数日かけて担当部署の業務プロセスを見直ししてるんだけど,この本に書いてある目的や手順などがすごく役に立った。


「作成・活用・改訂,これこそがマニュアル!」「現場ですぐに活かせ,進化し続けるマニュアル!」など,赤面しちゃう文言が表紙に書いてあるんだけど,それなりの価値はあったと思う。

業務マニュアルの作り方・活かし方―作成・活用・改訂、これこそがマニュアル! (アスカビジネス)

業務マニュアルの作り方・活かし方―作成・活用・改訂、これこそがマニュアル! (アスカビジネス)