単一ファイル ジェネレーターの実装
カスタム ツール (単一ファイル ジェネレーターとも呼ばれます) を使うと、Visual Studio で Visual Basic と Visual C# のプロジェクト システムを拡張することができます。 カスタム ツールは、IVsSingleFileGenerator インターフェイスを実装する COM コンポーネントです。 カスタム ツールでは、このインターフェイスを使用して、1 つの入力ファイルが 1 つの出力ファイルに変換されます。 変換の結果は、ソース コードやその他の有用な出力です。 カスタム ツールによって生成されるコード ファイルの 2 つの例は、ビジュアル デザイナーでの変更に応じて生成されるコードと、Web サービス記述言語 (WSDL) を使用して生成されるファイルです。
カスタム ツールが読み込まれたとき、または入力ファイルが保存されたときに、プロジェクト システムは Generate メソッドを呼び出し、IVsGeneratorProgress コールバック インターフェイスへの参照を渡します。これにより、ツールは進行状況をユーザーに報告できるようになります。
カスタム ツールによって生成される出力ファイルは、入力ファイルに対する依存関係と共にプロジェクトに追加されます。 カスタム ツールの DefaultExtension の実装から返された文字列に基づいて、出力ファイルの名前がプロジェクト システムによって自動的に決定されます。
カスタム ツールは、IVsSingleFileGenerator インターフェイスを実装している必要があります。 必要に応じて、カスタム ツールで IObjectWithSite インターフェイスをサポートすると、入力ファイル以外のソースから情報を取得できます。 いずれの場合も、カスタム ツールを使用するには、システムまたは Visual Studio ローカル レジストリにあらかじめ登録する必要があります。 カスタム ツールの登録の詳細については、「単一ファイル ジェネレーターの登録」を参照してください。