CodeModelMacros サンプル : コード モデルの関数の使用方法
更新 : 2007 年 11 月
このサンプルは、コード モデルを使用して便利なタスクを実行するマクロのコレクションです。以下のマクロが含まれます。
HierarchyGenerator プロジェクトのクラス、構造体、およびインターフェイスの継承関係を持った HTML ファイルを生成します。
このマクロは最初に、派生型を持たない終端のクラス、構造体、またはインターフェイスのコレクションをアセンブルします。マクロは、該当するクラス、構造体、またはインターフェイスがほかのコード要素の基本コレクションに含まれていないことを確認してコレクションをアセンブルします。次に、終端のオブジェクトとすべての基本コレクションを一覧した HTML レポートを生成します。このファイルは、ソリューションの最初のプロジェクトに追加されます。
InterfaceDocGenerator プロジェクトに実装されたインターフェイスの HTML ドキュメントを生成します。HTML ドキュメントは、インターフェイス メソッドを実装するクラス関数のコメントの集まりです。
このマクロは、CodeModel.Interfaces コレクションに含まれたインターフェイスを列挙し、各インターフェイスを実装するクラスを検索します。クラスごとにインターフェイスのメソッド実装を検索し、コメントを HTML ファイルに保存します。
UserTypeGenerator プロジェクトのクラス名が含まれた、usertype.dat という名前のファイルを生成します。このファイルの保存先が devenv.exe の常駐する場所と同じであった場合 (たとえば、C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE)、ソース コード エディタではクラス名の色が変わります。
このマクロは、CodeModel.Classes コレクションに含まれているクラスの名前をファイル (usertype.dat) に書き込みます。
VirtualFunctionFinder プロジェクトに含まれている仮想関数に TODO コメントを追加します。
VirtualFunctionFinder は、各クラスまたは構造体の関数を繰り返し検査して、プロジェクトで宣言されている仮想関数を見つけます。検索した後、CodeFunction.Comment プロパティを変更して各仮想関数にコメントを追加します。
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。 |
サンプルとそのインストール手順を取得するには
Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。
詳細については、「サンプル ファイルの格納場所」を参照してください。
使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。
サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。
サンプルのインストールと実行
マクロをインストールするには
CodeModelMacros.vsmacros ファイルをハード ドライブにコピーします。
Visual Studio を起動します。
[ツール] メニューの [マクロ] をポイントし、[マクロ エクスプローラ] をクリックします。[マクロ エクスプローラ] ウィンドウが開きます。
[ツール] メニューの [マクロ] をポイントし、[マクロ プロジェクトの読み込み] をクリックします。[マクロ プロジェクトの追加] ダイアログ ボックスが表示されます。
CodeModelMacros.vsmacros ファイルの場所を指定し、[開く] をクリックします。マクロ ファイルが読み込まれ、マクロ エクスプローラにマクロが表示されます。
[CodeModelMacros] ノードを展開します。各マクロに対して 1 つのモジュールが表示されます。
HierarchyGenerator を実行するには
マクロ エクスプローラの [HierarchyGenerator] ノードを展開します。
HierarchyGenerator マクロをダブルクリックします。マクロが実行され、ソリューションの最初のプロジェクトに HTML ファイルが追加されます。
InterfaceDocGenerator を実行するには
マクロ エクスプローラの [InterfaceDocGenerator] ノードを展開します。
InterfaceDocGenerator マクロをダブルクリックします。マクロが実行され、ソリューションの最初のプロジェクトに HTML ファイルが追加されます。
UserTypeGenerator を実行するには
マクロ エクスプローラの [UserTypeGenerator] ノードを展開します。
UsertypeC マクロをダブルクリックします。マクロが実行され、C: ドライブのルート ディレクトリに usertype.dat ファイルが作成されます。
VirtualFunctionFinder を実行するには
マクロ エクスプローラの [VirtualFunctionFinder] ノードを展開します。
MainVirtualFunctionFinder マクロをダブルクリックします。マクロが実行され、プロジェクトで宣言されている仮想関数に TODO コメントが追加されます。
キーワード
このサンプルでは、次のキーワードを使用します。
CodeClass::Members; CodeElement.CodeTypeFromFullName; CodeElement::Children; CodeElement::FullName; CodeElement::Kind; CodeFunction::CanOverride; CodeFunction::Comment; CodeFunction::InfoLocation; CodeFunction::Name; CodeInterface::Name; CodeModel::CodeElements; CodeModel::Language; CodeNamespace::Members; CodeStruct::Members; CodeType::Bases; Project::CodeModel; Solution::Count; VCCodeBase::FullName; VCCodeBase::Name; VCCodeClass::Functions; VCCodeClass::ImplementedInterfaces; VCCodeClass::IsSelf; VCCodeClass::Name; VCCodeFunction::Attributes; VCCodeFunction::Comment; VCCodeFunction::IsVirtual; VCCodeInterface::Functions; VCCodeModel::Classes; VCCodeModel::Interfaces