真魚のソース内を探しづらい

 真魚にアウトライン機能もどきを付けたくなったのは、自分で真魚のソースを見るのが久しぶりだったこともあり、探してる部分にいちいち検索で辿り着くのが面倒くさいって事が大きい。目的の機能別にユニット分けして、ユニット数は多くなってもその一つ一つが大きくならないようにってのがあたしの好みのスタイルなんだけど、そうなるように作っててもDelphiだとメインフォームが大きくなっちゃって、真魚でもメインフォームは5000行になっている。その5000行の中から目的の場所を探すのが面倒くさい。探すったってDelphiで真魚を作ってるわけだから、DelphiのIDEで探すわけで、真魚で真魚のソース内を探す機会は少ないけれども、IDEで探すよりも便利な機能が真魚にあれば、もしかしたらIDEが面倒くさくて探すときは真魚になるかも知れない。

 ちゃんとDelphiにはコードエクスプローラがついてて、構造を解析して表示してくれるわけで、そこらの解析機能付きテキストエディタより、IDEでやってくれる方がよっぽどしっかりしてるのは間違いない。ところがこれって、確かにあると便利な場合もあるかも知れないが、少なくとも真魚のソース内を移動するためには全然便利じゃない。真魚のメニューとかツールバーとかに項目が一つ増えるとコードエクスプローラにも項目が一つ増えるんだけど、あたしが探してジャンプしたい場所ってのは関数であって、メニューとかツールバーのメンバにジャンプしたい事はない。コードエクスプローラの性質からして、ジャンプしやすさよりも構造の視認を優先するものだろうから、これはこれで良いんだろうけど、あたしの目的には合致しない。コンストラクタに移動したい、デストラクタに移動したいって時に、5000行から普通にスクロールさせて探すのは無理だし、フォームから移動できるのはイベントハンドラばっかりだし、しょうがないからinterface部で探してShift+Ctrl+↓とかするんだけど、それじゃコードエクスプローラの方が本来は使いやすいはずなのに、コードエクスプローラは使わない。つまり使いにくいんだよ。単に的確に構造解析を出す事が、使いやすさに結びつくとは限らないって事だよな。ソースが長くならなければ解析してジャンプする機能はいらないわけで、ソースが長くなったときに使いやすいかどうかが、必要な機能かどうかって事になるんだと思う。これ別にDelphiの解析だけじゃなくて、テキストエディタがそういうのを実装する場合にも言えることで、機能がついてるのはいいけどそれって便利なんですかって事まで考えてんのかしら。よそのテキストエディタに付いてる機能だからってんで付けるんじゃなく、あれば便利だって確信があって付けてるかどうかよ。gPadさんでCの関数は便利に出来てると思うが、Delphiは対応してないから、まだ真魚ソースを便利に移動できるテキストエディタには出会ってない。HTMLとかTXTとかは、書式をgPadさんで設定した正規表現にに合わせれば上手く行くが、そうでなければ全然便利になる物じゃない。

 はたしてDelphiのコードエクスプローラより使いやすい解析を真魚に実装できるんだろうか。Delphiソースに限定すれば、関数だけ抽出すればコードエクスプローラやinterface部より使いやすくなる可能性はある。その上、行の順番ではなくアルファベット順にもソート出来れば幸せになれる。いくつかのプログラミング言語では関数の抽出は意義がある事かも知れない。でもそれじゃオールマイティじゃないんだよね。オールマイティじゃないからこそ、ユーザー設定で細かく指定できるようにして、どこで妥協するかをユーザー自身が決められるようにすべきだと思う。そうなるとgPadさんが正解よ。でも真魚はそういう設定をユーザーにさせないつもりだから、正解の実装は出来ない。だったら色分けと同じで、正規表現じゃ無理なほど詳細に作り込むことで、ユーザー設定の余地もないくらいにするしかない。そこまでは出来ないと思うけど。

 Grepに定型文を用意するみたいな物だから、普通にやってたらGrepと機能がかぶって、じゃあGrepでいいじゃんって事になるから、それ以上に便利にって考えると、やっぱり階層化が必要かも知れない。なんかもうやっぱり面倒くさくなった。これ、出来ないかも。いや、便利じゃなくてもとりあえず機能だけ付けて多機能なフリするのは出来ても、便利な機能として用意するのは難しいかも。すまん、こんな風に書いちゃった以上、名前は伏せるが、とりあえずのアウトライン機能が全然便利じゃない某多機能テキストエディタに触れてしまった。真魚も面倒くさがってその程度かそれ以下の実装しか出来ない気がする。

たぶん関連のある記事:

コメントは終了しています。