方法: カスタム オプション ページを作成する
[オプション] ダイアログ ボックスには、Visual Studio の個々の構成要素に関するさまざまなページが表示されます。「オプション設定の制御」に概要を示したように、既存のオプション ページを制御できます。また、独自のカスタム ページを作成することもできます。カスタム ページを使用して、独自のアドインまたは他のプログラムの設定をユーザーが変更できるようにします。
ページの定義がレジストリ キーではなく XML ファイルに保存されているので、独自のカスタム オプション ページを作成するためにアドインを使用する必要はありません。したがって、Visual Studio 統合開発環境 (IDE: Integrated Development Environment) だけでなくマクロ IDE からもアクセスできるオプション ページを作成できます。
次の手順では、カスタム オプション ページとして機能するカスタム ユーザー コントロールを作成し、そのコントロールを参照するように .addin ファイルを変更する方法について説明します。
[!メモ]
実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。ここに記載されている手順は、全般的な開発設定が適用されているものとして記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。
カスタム オプション ページを作成するには
新しい Windows コントロール ライブラリ プロジェクトを作成します。それに ToolsOptionsLibrary.dll という名前を付けます。
必要なコントロールおよび機能を追加します。
このユーザー コントロールがカスタム オプション ページになります。コントロールが [オプション] ダイアログ ボックスのクライアント領域全体に表示されるようにコントロールのサイズを変更します。
プロジェクトをビルドします。
Visual Studio は、起動時にすべての共有 .addin ファイルを検索し、存在するファイルを読み込みます。[アドイン/マクロ セキュリティ] という名前のオプション ページでは、.addin ファイルのパス用にトークンのセットが定義されています。次のトークンが含まれています。
%ALLUSERSPROFILE%
%APPDATA%
%USERPROFILE%
%VSAPPDATA%
%VSCOMMONAPPDATA%
Visual Studio が .addin ファイルの検索を開始すると、これらのトークンは次のパス文字列に置き換えられます。
トークン
パス
%ALLUSERSPROFILE%
..\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\
%APPDATA%
..\Documents and Settings\ユーザー名\Microsoft\MSEnvShared\Addins\
%USERPROFILE%
..\Documents and Settings\ユーザー名\My Documents\Visual Studio 2010\Addins\
%VSAPPDATA%
..\Documents and Settings\ユーザー名\Addins\
%VSCOMMONAPPDATA%
..\Documents and Settings\All Users\Addins
アドインの登録方法の詳細については、「アドインのセキュリティ」を参照してください。
これらのディレクトリのいずれかに、新しいオプション ページを参照する .addin ファイルを作成します。
次のコードをテンプレートとして使用できます。
<?xml version="1.0" encoding="UTF-16" standalone="no"?> <Extensibility xmlns="https://schemas.microsoft.com/AutomationExtensibility"> <HostApplication> <Name>Microsoft Visual Studio Macros</Name> <Version>10.0</Version> </HostApplication> <HostApplication> <Name>Microsoft Visual Studio</Name> <Version>10.0</Version> </HostApplication> <ToolsOptionsPage> <Category Name="Environment"> <SubCategory Name="My Tools Options Page"> <Assembly><dll location></Assembly> <FullClassName>ToolsOptionsLibrary.UserControl1 </FullClassName> </SubCategory> </Category> </ToolsOptionsPage> </Extensibility>
<Assembly></Assembly> タグの <dll location> は、ToolsOptionsLibrary.dll のパスに置き換えます。
ユーザー コントロールの具体的な内容を反映するように、<ToolsOptionsPage> の設定 (Category Name、SubCategory Name など) を変更します。
たとえば、ユーザー コントロール名が "NewPage" でそのプロジェクト名が "MyTOLib" である場合、FullClassName タグは MyTOLib.NewPage になります。Assembly は、オプション DLL が格納されている場所です。Category Name は、カスタム ページを配置する [オプション] ダイアログ ボックス内のノードです ("環境"、"デバッグ"、"プロジェクト" など)。
存在しない名前を指定した場合は、その名前のノードが作成されます。SubCategory は、ノードの下に表示される名前です。レベルの最大数は 2 です。第 3 レベルのノードは追加できません。
前に説明したアドイン ファイル フォルダーのいずれかに、.addin ファイル名拡張子を持つテキスト ファイルとしてファイルを保存します。既定のディレクトリは、..\Documents and Settings\ユーザー名\Application Data\Microsoft\MSEnvShared\Addins\ です。
Visual Studio は、起動時にカスタム オプション ページの定義を検出するためにこのディレクトリを検索し、見つかった定義を読み込みます。アドイン ディレクトリを変更または追加するには、[オプション] ダイアログ ボックスの [環境] ノードの下にある [アドイン/マクロ セキュリティ] を使用します。
Visual Studio を起動し、[ツール] メニューの [オプション] をクリックします。
新しい [オプション] ページが表示されます。