VisualStudio2013の拡張機能を作る

社内の開発環境をVS2010からVS2013に乗り替えようかという話になりまして、そこで困ったのがマクロです。
VisualStudioのマクロ機能はVS2012から削除されているんですね。

数は多くないのですが、社内コーディングルールに合わせた入力補助機能をマクロで実現していたので使えなくなると少しばかり不便です。

そこで拡張機能を作成することにしました。

Visual Studio SDK をインストールする

拡張機能を作成するにはVSで新しいプロジェクトの作成で「その他のプロジェクトの種類」→「拡張機能」から「Visual Studio Package」を指定しますが、初期状態ではこのテンプレートが表示されません。

MicrosoftからVisual Studio SDKをダウンロードしてインストールする必要があります。
http://www.microsoft.com/en-us/download/details.aspx?id=40758

インストールが完了するとプロジェクトテンプレートにこんな感じで追加されます。

2014-01-14_185932

ウィザードにしたがって拡張機能プロジェクトを作成する

新しいプロジェクトとして「Visual Studio Package」を選択すると、ウィザードが開始します。

適当にNext。
2014-01-14_190318

開発言語を選択します。初期状態ではC++が選択されていますが今回はC#を選択。2014-01-14_190342

会社名や説明といった基本情報を入力。今回はそのままで。
2014-01-14_190354

機能の選択。「Menu Command」にチェックすると、メニュー「ツール」に項目が追加されます。「Tool Window」にチェックをつけるとメニュー「表示」→「その他のウィンドウ」に項目が追加されます。「Custom Editor」にチェックをつけると、ファイル新規作成時の「インストール済」項目にオリジナルの項目が追加されます。「Custom Editor」については詳しく調べていないので使いどころが分かっていません。
2014-01-14_190408

「ツール」に追加される名称とIDを指定。
2014-01-14_190416

「その他のウィンドウ」に追加される名称とIDを指定。
2014-01-14_190421

テストプロジェクトを追加するかを指定して、Finish。
2014-01-14_190450

ウィザードが終わると、こんな感じです。画像は「その他のウィンドウ」から表示されるツールウィンドウのデザイン画面です。XAML。
2014-01-14_191328

何も考えずにデバッグ実行。別のVSが立ち上がるので「ツール」メニューを確認するとウィザードの「Command Option」で指定した項目が追加されています。なぜかデフォルトのアイコンが「x1」なんですよね。
2014-01-14_191601

追加された項目をクリックするとメッセージボックスが表示されます。

今回のプロジェクトではVSPackage1Package.cs の MenuItemCallback() を変えればお好みのコマンドを実行できるわけですね。

こんな感じで開発にC#も使えるし、拡張機能の開発は意外と簡単。と思っていたのですが、ここからが…

以下次回。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です