.NET TIPS

定形のコーディング作業を効率化するには?

デジタルアドバンテージ
2004/07/02

 C#やVB.NETでコーディングを行っていると、定形のコーディング作業が発生することがある。例えば、デザイナ画面で配置したボタンをクリックして自動作成されたイベント・ハンドラのメソッドが10個あり、各メソッドの前の行に同じコメントを挿入する場合などだ。

 このような場合、Visual Studio .NET(以降、VS.NET)の一時マクロ(TemporaryMacro)機能を使えば、退屈な定形作業を簡略化することができる。本稿では、このVS.NET一時マクロ機能の使用方法について紹介する。

VS.NETの一時マクロ(TemporaryMacro)機能の使用方法

 一時マクロ機能は、作業手順を記録して、その記録した作業を繰り返すためのものだ。いったんこの機能で定形作業の手順を記録すれば、その後の作業はキー1つ(ボタン1つ)で繰り返すことができる。ただしこのためには、事前に、定形作業の手順を明確にしておく必要がある。

 例えば次の画面のように、5個のボタン・クリックのイベント・ハンドラ・メソッドがあるとする。

一時マクロ実行前のサンプル・コード
ボタン・クリックに対応するイベント・ハンドラ・メソッドがあるソース・コードをVS.NETのIDEで開いたところ。

 そして、それぞれのメソッドの前に、次のようなコメント行を挿入したいとする。

// 一時マクロ機能によってコメントを追加しました

 この場合、1つのコメント行挿入の作業手順は、次のようになる(下図参考)。

“_Click(”というキーワードで検索して、イベント・ハンドラの位置を特定する(具体的には[検索]ダイアログでキーワード検索する)。

改行してイベント・ハンドラの前に行を1つ追加する(具体的には、[Home]キーを押してメソッドの定義開始行の先頭位置に移動し、[Enter]キーを押して改行する)。

追加した前行に移動する(具体的には、[↑]キーを1回押して上に1行移動する)。

コメント行を挿入する(具体的には、あらかじめコピーしておいたコメント・テキストを、[Ctrl]+[V]キーで貼り付ける)。

次の検索で同じ“_Click(”が検索されないように、イベント・ハンドラの下の行(つまり2行下)に移動する(具体的には、[↓]キーを2回押して下に2行移動する)。

一時マクロに記録するコメント挿入の作業手順

 この一連の作業手順を一時マクロとして保存すればよい。これにはまず、ショートカット・キー[Ctrl]+[Shift]+[R]キー(Record)を押すか、メニュー・バーから[ツール]−[マクロ]−[TemporaryMacroの記録]を実行して、一時マクロの記録を開始する。

 一時マクロの記録を開始したら、上記の作業手順を実行する。

 作業手順をすべて実行したら、一時マクロの記録を終了する。これには、ショートカット・キー[Ctrl]+[Shift]+[R]キー(記録開始のショートカット・キーと同じ)を押すか、メニュー・バーから[ツール]−[マクロ]−[記録の終了]を実行すればよい。

 後は、一時マクロに記録した内容を繰り返し再生するだけだ。これには、ショートカット・キーの[Ctrl]+[Shift]+[P]キー(Play)を、繰り返す回数分だけ押せばよい。

 本稿の例では、この後、定形作業を4回繰り返す必要があるので、このショートカット・キーを4回続けて押す。すると、次の画面のように、すべてのイベント・ハンドラの前にコメント行を挿入することができる。

一時マクロ実行後のサンプル・コード
ショートカット・キーを4回続けて押すと、一時マクロに記録した定形作業が繰り返されて、すべてのイベント・ハンドラの前にコメント行を挿入できる。

 なお、ショートカット・キーではなく、メニュー・バーの[ツール]−[マクロ]−[TemporaryMacroの実行]でマクロを実行することも可能だが、メニューを表示する手間があるので、筆者はお勧めしない。End of Article

カテゴリ:Visual Studio .NET 処理対象:マクロ
 
この記事と関連性の高い別の.NET TIPS
Visual Studioで編集中のファイルを保存してから外部ツールで開くには?
VBAで独自の.NETライブラリを使うには?
VS.NETでコードの中を効率よく移動するには?(検索機能活用編)
Visual Studio 2008で行を素早くコピー&ペーストするには?
C#でVBA向けの.NETライブラリ(COMコンポーネント)を作成するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間