VCCodeModel インターフェイス

コンテナー内の任意のコード要素へのプロジェクト レベル アクセスを提供するオブジェクトです。

名前空間:  Microsoft.VisualStudio.VCCodeModel
アセンブリ:  Microsoft.VisualStudio.VCCodeModel (Microsoft.VisualStudio.VCCodeModel.dll 内)

構文

'宣言
<GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")> _
Public Interface VCCodeModel _
    Inherits CodeModel2
[GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")]
public interface VCCodeModel : CodeModel2
[GuidAttribute(L"E6691CDE-9A41-4891-8D8C-C1E93958E6A0")]
public interface class VCCodeModel : CodeModel2
[<GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")>]
type VCCodeModel =  
    interface 
        interface CodeModel2 
    end
public interface VCCodeModel extends CodeModel2

VCCodeModel 型で公開されるメンバーは以下のとおりです。

プロパティ

  名前 説明
パブリック プロパティ Attributes オブジェクトのすべての属性のコレクションを取得します。
パブリック プロパティ Classes オブジェクトのクラスのコレクションを取得します。
パブリック プロパティ CodeElements コード要素のコレクションを取得します。
パブリック プロパティ Delegates オブジェクトのデリゲートのコレクションを取得します。
パブリック プロパティ DialogClasses ダイアログ クラスのコレクションを取得します。
パブリック プロパティ DTE トップレベルの機能拡張オブジェクトを取得します。
パブリック プロパティ Enums オブジェクトの列挙値のコレクションを取得します。
パブリック プロパティ Functions オブジェクトの関数のコレクションを取得します。
パブリック プロパティ IDLImports 親オブジェクトの .idl ファイルから Import ステートメントのコレクションを取得します。
パブリック プロパティ IDLLibraries オブジェクトの Library 要素のコレクションを取得します。
パブリック プロパティ Imports 親オブジェクトの #import ステートメントのコレクションを取得します。
パブリック プロパティ Includes オブジェクトの #include ステートメントのコレクションを取得します。
パブリック プロパティ Interfaces オブジェクトのインターフェイスのコレクションを取得します。
パブリック プロパティ IsCaseSensitive コード要素で大文字と小文字を区別するかどうかを示す値を取得します。
パブリック プロパティ IsSynchronized VCCodeModel がソリューションのソース コードと同期しているかどうかを調べます。
パブリック プロパティ Language コードの作成に使用されたプログラミング言語を取得します。
パブリック プロパティ Macros オブジェクトのマクロ (#define ステートメント) のコレクションを取得します。
パブリック プロパティ Maps オブジェクトのマップのコレクションを取得します。
パブリック プロパティ Namespaces オブジェクトの名前空間のコレクションを取得します。
パブリック プロパティ Parent 指定したオブジェクトの直接の親オブジェクトを取得します。
パブリック プロパティ Structs オブジェクトの構造体要素のコレクションを取得します。
パブリック プロパティ Typedefs オブジェクトの Typedef 要素のコレクションを取得します。
パブリック プロパティ Unions オブジェクトの Union 要素のコレクションを取得します。
パブリック プロパティ UsingAliases オブジェクトの alias 要素のコレクションを取得します。
パブリック プロパティ Usings オブジェクトの #using 要素のコレクションを取得します。
パブリック プロパティ Variables オブジェクトの変数のコレクションを取得します。

このページのトップへ

メソッド

  名前 説明
パブリック メソッド AbortTransaction 現在のトランザクションをキャンセルします。
パブリック メソッド AddAttribute 新しい属性コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddClass 新しいクラス コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddDelegate 新しいデリゲート コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddEnum 新しい列挙コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddFunction 新しい関数コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddIDLImport 特定の .idl ファイルに新しい import ステートメントを追加します。
パブリック メソッド AddIDLLibrary 特定の .idl ファイルに新しい library ステートメントを追加します。
パブリック メソッド AddImport 特定のファイルに #import 要素を追加します。
パブリック メソッド AddInclude 特定のファイルに #include 要素を追加します。
パブリック メソッド AddInterface 新しいインターフェイス コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddMacro 特定のファイルに #define 要素を追加します。
パブリック メソッド AddMap オブジェクトにマップ エントリを追加します。
パブリック メソッド AddNamespace 新しい名前空間コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddStruct 新しい構造体コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド AddTypedef 特定のファイルに typedef 要素を追加します。
パブリック メソッド AddUnion VCCodeModel オブジェクトに union 要素を追加します。
パブリック メソッド AddUsing 特定のファイルに #using 要素を追加します。
パブリック メソッド AddUsingAlias エイリアスを使用してを追加します。
パブリック メソッド AddVariable 新しい変数コード コンストラクターを作成して、正しい位置にコードを挿入します。
パブリック メソッド CodeElementFromFullName オブジェクトの指定されたコード要素のコレクションを取得します。
パブリック メソッド CodeElementFromFullName2 オブジェクトの指定されたコード要素のコレクションを取得します。これは CodeElementFromFullName と同じですが、検索中に名前空間が無視される点が異なります。
パブリック メソッド CodeTypeFromFullName 完全修飾名を基にしたコード要素を返します。
パブリック メソッド CodeTypeFromFullName2 完全修飾名を基にしたコード要素を返します。これは CodeTypeFromFullName と同じですが、typedef を解決しようとする点が異なります。
パブリック メソッド CommitTransaction オブジェクトの現在のトランザクションをコミットします。
パブリック メソッド CreateCodeTypeRef 渡されたデータ型インジケーターに基づく CodeTypeRef オブジェクト。
パブリック メソッド DotNetNameFromLanguageSpecific 名前空間を .NET 形式に変換します。
パブリック メソッド ElementFromID 実装されていません。
パブリック メソッド GetClassesDerivedFrom 指定されたクラスから派生したクラスを返します。
パブリック メソッド IsValidID 指定した名前が現在の言語で有効なプログラム ID かどうかを示す値を返します。
パブリック メソッド LanguageSpecificNameFromDotNet 完全修飾名からアンマネージ名前空間形式に変換します。
パブリック メソッド Remove 指定されたプロジェクトをソリューションから削除します。
パブリック メソッド RemoveEx 指定されたプロジェクトをソリューションから削除します。
パブリック メソッド StartTransaction トランザクションを開始します。
パブリック メソッド Synchronize ソース ファイルに加えられた編集を含め、ソリューション内のすべてのコード モデル オブジェクトを同期します。
パブリック メソッド SynchronizeCancellable プログレス バーのあるダイアログ ボックスを表示します。ユーザーは、待機を取り消してスレッドをブロック解除します。
パブリック メソッド SynchronizeFiles プロジェクト ファイルの FileCodeModel プロパティが null でないことを確認します。
パブリック メソッド ValidateMember 指定された名前が、親オブジェクトのコンテキスト内で指定されている種類に適した有効な C++ の名前かどうかを検証します。
パブリック メソッド ValidateMemberName 要素の名前を検証します。

このページのトップへ

解説

VCCodeModel オブジェクトを使用すると、Visual Studio でサポートされている各言語 (Visual C++ を含む) で、コード モデル機能をプロジェクト レベルで使用できます。

このオブジェクトは、主として、(完全限定名の指定によって) プロジェクト内でアクセスできるコード要素を検索するために使用します。 このオブジェクトは、プロジェクトの作成に使用されるプログラミング言語も指定します。

注意

このオブジェクトの機能の大部分は、Visual Studio の CodeModel2 オブジェクトによって提供されます。

VCCodeModel オブジェクトをマネージ プロジェクトで使用する場合は、参照先となる Microsoft.VisualStudio.VCCodeModel.dll をインクルードします。 マネージ プロジェクトに参照を追加する方法の詳細については、「方法: [参照の追加] ダイアログ ボックスを使用して参照を追加または削除する」を参照してください。

このサンプル コードをコンパイルして実行する方法については、「方法 : Visual C++ コード モデル機能拡張のプログラム例をコンパイルする」を参照してください。

この関数は、ソリューションの最初のプロジェクトを表す VCCodeModel オブジェクトを返します。

Function GetVCCodeModel() As VCCodeModel
    GetVCCodeModel = Nothing
    Dim codeModel As CodeModel
    Dim vcCodeModel As VCCodeModel
    Dim solution As Solution
    solution = DTE.Solution
    If (solution Is Nothing) Then
        MsgBox("A Solution is not open")
        Exit Function
    Else
        If (DTE.Solution.Count <> 0) Then
            codeModel = DTE.Solution.Item(1).CodeModel
            vcCodeModel = CType(codeModel, VCCodeModel)
            If (vcCodeModel Is Nothing) Then
                MsgBox("The first project is not a VC++ project.")
                Exit Function
            Else
                GetVCCodeModel = vcCodeModel
            End If
        End If
    End If
End Function

参照

関連項目

Microsoft.VisualStudio.VCCodeModel 名前空間