SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

Visual Studioコマンドとショートカットキーの対応表を作成する

Visual Studioマクロの実践とXHTMLによる結果出力手法

  • このエントリーをはてなブックマークに追加

Visual Studioマクロを使って、Visual Studio IDEで利用できるVisual Studioコマンドと、それに割り当てられているショートカットキーの一覧を作成/表示します。

  • このエントリーをはてなブックマークに追加

完成画面
完成画面

はじめに

 ショートカットキー、便利ですよね。

 大抵のソフトウェアには用意されていますし、最近ではオンラインゲームなどでもすばやい操作を行えるようにショートカットキーに対応しているものが多くあります。もちろん、Visual Studio IDE(以下、VS IDE)も例外ではなく、多くのショートカットキーがあらかじめ設定されています。

 VS .NET 2003からVS 2005へのバージョンアップの際に、デフォルトの割り当てが一部変更されました。よく使う機能のショートカットキーが変更されてしまったりすると、けっこう不自由な思いをします。

ショートカットキーのデフォルトでの割り当て
 ショートカットキーのデフォルトでの割り当ては、MSDN Libraryの『既定のショートカットキー』(VS.NET2003まで)、『既定のショートカットキー (全般的な開発設定)』(VS2005)にそれぞれ記載されています。
 なお、『既定のショートカットキー(全般的な開発設定)』では「……Visual Studio 2003のキーボード マップ スキームで使用できる……」とありますが、実際に紹介されているスキームはVS 2005のものです。

 ショートカットキーは、VSコマンドに割り当てることで、自分で自由に設定を追加・変更することもできます。

 しかし、どんなVSコマンドが用意されているかの具体的な情報はあまり提供されていません。また、現状どのようなショートカットキーが割り当てられているかは[オプション]ダイアログで、ひとつずつ選択しながら確認するしかありません。

 しかも、[オプション]ダイアログで表示されるVSコマンドは日本語名で、MSDN Library内の表記やTemporary Macroで記録されるVSコマンドは英名です。日本語名と英名を関連づける資料は、あちこちを当たってみたのですが、どうもこれといったものを見つけることができませんでした。

 そこで本稿では、VSコマンドをより有効に活用し、ショートカットキーを確認・設定しやすくするために、VSコマンドとショートカットキーの一覧表を作成してみます。

 VS IDEを操作するテクノロジーとしてはVSアドインが一般的ですが、今回は簡単に作成・実行ができるVSマクロを使います。

対象読者

  • VS IDEで作業をされる方、自分好みにカスタマイズして効率よく作業をしたい方。
  • Visual Basic 2003または2005の基礎を知っている、あるいは知りたい方。

必要な環境

  • Visual Studio .NET 2003、またはVisual Studio 2005 IDEが動作するWindows
  • 具体的にはWindows 2000、XP、2003 Server。
  • Visual Studio .NET 2003、またはVisual Studio 2005 Standard Edition以上
  • Visual Studio.NET 2002でも動作可能だとは思いますが未検証です。Visual Studio 2005 Express EditionにはVSマクロ機能がありませんので対象外です。

VSマクロの作り方

 VS IDEのマクロ機能は、IDEの動作そのものをカスタマイズできるほど強力なのですが、積極的に使い込んでいる方は意外と少ないようです。まったく使ったことがない、またはTemporary Macroくらいしか使ったことがない、という方も多いのではないでしょうか。

 そこで本論に進む前に、VSマクロを作る際の操作を簡単に説明しておくことにします。ご存知の方は、この項を読み飛ばしていただいてかまいません。

新しいVSマクロプロジェクトの作り方

 VSマクロプロジェクトの作成や管理、実行などの操作は、VS IDEの中のマクロエクスプローラで行います。

 マクロエクスプローラは、VS IDEのメニューから[ツール]-[マクロ]-[マクロエクスプローラ]を選択すると表示されます(既定のショートカットキーでは[Alt]+[F8])。

マクロエクスプローラ
マクロエクスプローラ

 これから作成するVSマクロ用に、新しいマクロプロジェクトを作成します。新しいVSマクロプロジェクトは、VS IDEのメニューから[ツール]-[マクロ]-[新しいマクロ プロジェクト]で作成できます。

「新しいマクロプロジェクト」の作成操作
「新しいマクロプロジェクト」の作成操作

 今回は、[ファイル名]を「CreateVSCommandList」として作成します。このファイル名が、そのままプロジェクト名となります。

「新しいマクロプロジェクト」ダイアログ
「新しいマクロプロジェクト」ダイアログ
VSマクロプロジェクトの保存単位
 VSマクロは、プロジェクト単位で読み込んだり、アンロードしたりすることができます。また、ファイルとしても1つのプロジェクト全体が「~.vsmacros」という単一のファイルとなるので、他のマシンなどへ配布することも可能です。
 MyMacrosプロジェクトの中に記述しても同様に動作しますが、ひとかたまりの機能単位でプロジェクトとして作成する方が便利です。

マクロコード記述の始め方

 VSマクロは、VS IDEとは別に用意されているマクロIDEでコードを記述します。

 マクロIDEは、VS IDEのメニューから[ツール]-[マクロ]-[マクロIDE]で表示させることができます。

「マクロIDE」の表示操作
「マクロIDE」の表示操作
マクロIDE
マクロIDE
マクロエクスプローラとマクロIDEの使い分け
 VSマクロプロジェクトの作成/読み込み/アンロードなどは、マクロIDEからではなく、VS IDEのマクロエクスプローラから行います。逆に、マクロエクスプローラから作成できる項目は「モジュール」だけです。VSマクロで「クラス」を使用したい場合は、マクロIDEの中で作成します。
 このあたりの役割分担は、慣れるまでは戸惑いがちですので、きちんと把握しておきましょう。

 マクロIDEのプロジェクトエクスプローラに、現在読み込まれているVSマクロプロジェクトの一覧が表示されます。

 VSマクロプロジェクトの[CreateVSCommandList]ノードをダブルクリックすると、プロジェクトを構成している参照設定やモジュールがアイテムとして表示されます。

マクロIDEのプロジェクトエクスプローラ
マクロIDEのプロジェクトエクスプローラ

 新しく作成したVSマクロプロジェクトには「Module1」モジュールがあらかじめ用意されているので、本稿で説明するマクロはここに記述することにしましょう。ただし、「Module1」のままでは格好が悪いので、モジュール名を「modCreateVSCommandList」に変更しておきます。

 モジュール名を変更するには、目的のモジュール名を右クリックすると表示されるコンテキストメニューから[名前の変更]を選択して書き換えます。

モジュールの「名前の変更」操作
モジュールの「名前の変更」操作

 モジュール名を変更し終わったら、その[modCreateVSCommandList]アイテムをダブルクリックしてテキストエディタタブを表示させます。

マクロIDEのテキストエディタタブ
マクロIDEのテキストエディタタブ

 以上で、マクロコードを記述するための準備は完了です。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
VSコマンドの一覧表を作成する

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

さるべーじ(サルベージ)

札幌在住のフリーランスプログラマ。専門はVB、VBA。プログラミング初心者にエールを送りたく、blog猿頁で日々VBのうんちくを語っている。北海道の.NETコミュニティCLR/Hメンバー。Microsoft MVP...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/401 2006/05/31 00:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング