VCCodeModel インターフェイス
コンテナー内の任意のコード要素へのプロジェクト レベル アクセスを提供するオブジェクトです。
名前空間: Microsoft.VisualStudio.VCCodeModel
アセンブリ: Microsoft.VisualStudio.VCCodeModel (Microsoft.VisualStudio.VCCodeModel.dll 内)
構文
'宣言
<GuidAttribute("5A716328-5325-4A51-AEF4-EFBB8A10B89F")> _
Public Interface VCCodeModel _
Inherits CodeModel2
[GuidAttribute("5A716328-5325-4A51-AEF4-EFBB8A10B89F")]
public interface VCCodeModel : CodeModel2
[GuidAttribute(L"5A716328-5325-4A51-AEF4-EFBB8A10B89F")]
public interface class VCCodeModel : CodeModel2
[<GuidAttribute("5A716328-5325-4A51-AEF4-EFBB8A10B89F")>]
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 要素のコレクションを取得します。 | |
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 要素を追加します。 | |
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