Calendar
2009.02
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Syndication
Search


クリエイティブ・コモンズ・ライセンス
Movable Type 2.661

VSエディタの範囲指定キーをカスタマイズ

VisualStudio.NETを使う上で気になることが一つ。

たぶんそう感じてる人が多いと思うのが、VSエディタのキー操作性。
今使っているVS.NETは、昔のVSエディタに比べると色々と細かいところまでキーカスタマイズ出来るようになったのですが、どうしても範囲指定のキーだけはカスタマイズ出来ないようで(もしかしたら、私が知らないだけかもしれませんが)、困っています。Windows標準(メモ帳互換)な、SHIFTキーとカーソルキーで範囲指定し、Ctrl+CやCtrl+XそしてCtrl+Vを組み合わせる操作方法しか受け付けてくれません。

私の好みは、ファクションキーで選択開始を指定出来る操作方法。これは、DOSの頃に使用したエディタ(RED。たぶんMIFES互換)の操作方法で、この操作方法以外ではコーディングできない体になってしまっています(慣れの問題だという話もありますが…)。どうしてもアメリカンなWindows標準のキー操作に馴染めず、いままでVS上でコーディングすることは極力避け、自分好みにキーカスタマイズした秀丸エディタを使ってのみ、コーディングしていました。そういえば、DOS->Win3.1の頃って、そこまでキーカスタマイズ出来るエディタって秀丸くらいしかなかったよなぁ。重宝してます。

今までは、これでも良かったのですが、VS.NETでC#なる物を使う事を考えた場合、VS.NET上でコーディングしたほうが、入力支援や各種ヘルプ等を使用できてラクチンになりそうです。しかし、どうしてもWindows標準な範囲指定のキー操作に馴染めず、途中でイライラしちゃいます。このままでは、開発効率も落ちますし、ストレスがたまります(毎回「MSのアホ〜」とかツブやいてます(--;)。

たぶん、私以外にも同じような不満を持っている人がいて、既にVS上の範囲指定キーをカスタマイズ出来るツールを作っている人がいるだろうと、ネットを探してみたのですが、(VS関係なく)単純なキーマップの変更とかはあるのですが(それってレジストリ操作するだけで実現出来るヤツじゃん…)、求める機能を実現してくれるツールは見つけられません。MIFES互換なキー操作だから、需要あると思ったんだけどなぁ…。

しかたないので、無ければ自分でなんとかするしかないか、と、作り始め。フックすればいいだけだから簡単だろうと思ってたら、これがめちゃくちゃ面倒。メモ帳君レベルなら騙すの簡単なのですが、どうもVSはそう単純では無い模様…。何度もPeekMessage(PM_NOREMOVE)してくるなよ>VS(--; おかげで、出来上がったプログラムは、フラグだらけ…。恐い恐い。SetWindowsHookEx()なんて中途半端な事は止めて、フィルタードライバ作っちゃったほうが早かったと後悔。それはヒマな時でいいか…。

さて、出来上がったのはいいのだけど、やはり秀丸エディタの操作性には遠く及びません。範囲指定その物のキーはカスタマイズ出来たけど、範囲指定と他のキー操作の組合せ(例えば、範囲指定したまま検索とか)が出来ないと、ダメだよねぇ。MS社内の人はこれで満足してるんだろうか?それとも何か他の方法があるのかなぁ?????