Visual Studio .NET のカスタマイズ

[戻る]

はじめに

ちょっと前に仕事場が変わったことは 以前書きましたが, Visual Studio 6 (VC6) はもう売ってないため, プログラム開発環境が .NET になってしまいました.

.NET ですが, まぁインストールが異様に遅い時点で, うすうす感じていたのですが, 使えば使う程使いにくい代物と思ってます. とはいえ, 与えられた仕事道具ですんで, 工夫して多少なりとも 使いやすくしたいものです.

キーバインド

[ツール]-[カスタマイズ]-[キーボード]を開いて「キーボードマップスキーム」を 「Visual C++ 6」にして, 名前を付けて保存した後, 今度はそれを開いて独自の キーバインドにする. 主な点は以下のような感じかな.

ショートカットキーコマンド
Ctrl+N編集, 1 行下へ
Ctrl+P編集, 1 行上へ
Ctrl+F編集, 右に 1 文字移動
Ctrl+B編集, 左に 1 文字移動
Ctrl+A編集, 行頭に移動
Ctrl+E編集, 行末に移動
Ctrl+D編集, 削除
Ctrl+Shift+\編集, 元に戻す

Ctrl+A の動きが期待したものでないのが嫌なんですが, 無いよりマシでしょう. Ctrl+H に相当する命令が無いのも残念です. Ctrl+Y とか X を入れないのは, 他のツールや他人の VC で作業する際混乱を 避けるため, カーソル移動関連の最低限のものにしているためです.

mule の起動

こちらと同じく mulewin を起動する 方法ですが

  1. [ツール]-[外部ツール] で「追加」ボタンを押す
  2. タイトルは "Mule", コマンドに mulewin のフルパス, 引数に "-f no-backup +$(CurLine) $(ItemPath)" と記述
  3. Mule を上から何番目に定義しているか数える (上の絵では 6 番目)
  4. キーボードカスタマイズで 「ツール, 外部コマンド 6」を F9 (好みで適当に) に設定する (コマンド番号は 3. で数えた値にする).
-f no-backup の定義は こちら を参照のこと.

インデントの調整

こちらで書いたインデント調整の話ですが, [ツール]-[カスタマイズ]で「コマンド」を選び, 「編集」の中から「選択範囲の書式」 というのが VC6 で言う IndentSelectionToPlay と同等のようです. これをメニューバーに置けば, 以後選択してこのボタンを押すとインデントが調整されます.

愚痴

.NET において, DefWindowProc() とか DestroyWindow() とかを メニューから生成する方法が分かりません. しかたなく, VC6 時代に作ったソースを参照に手入力しているんですが, なんとかなりませんかね.

ちなみにフレーズは xxxDlg.h において DoDataExchange() 宣言の後あたりに

virtual LRESULT DefWindowProc(UINT, WPARAM, LPARAM);
virtual BOOL DestroyWindow();
と書いて, xxxDlg.cpp で
LRESULT xxxtDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) {
  // ここに必要な処理を入れる
  return CDialog::DefWindowProc(message, wParam, lParam);
}

BOOL xxxDlg::DestroyWindow() {
  // ここに必要な処理を入れる
  return CDialog::DestroyWindow();
}
といった感じです.

OnTimer() 等の On なんちゃら系は, プロパティを開いて「メッセージ」というボタンを押すと, WM_なんちゃらというメッセージ一覧が出るので, そこの右半面を押すと作れます. 当初はそれすら知らず, On なんちゃら系もぶつぶつ言いながら 手入力してました. こりゃこりゃ


2006.4