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 | 將新 import 陳述式加入至特定的 .idl 檔案。 | |
AddIDLLibrary | 將新 library 陳述式加入至特定的 .idl 檔案。 | |
AddImport | 將 #import 項目加入至特定檔案。 | |
AddInclude | 將 #include 項目加入至特定檔案。 | |
AddInterface | 建立新的介面程式碼建構並將程式碼插入正確位置。 | |
AddMacro | 將 #define 項目加入至特定檔案。 | |
AddMap | 將對應項目加入至物件。 | |
AddNamespace | 建立新的命名空間程式碼建構並將程式碼插入正確位置。 | |
AddStruct | 建立新的結構程式碼建構並將程式碼插入正確位置。 | |
AddTypedef | 將 typedef 項目加入至特定檔案。 | |
AddUnion | 將 union 項目加入至 VCCodeModel 物件。 | |
AddUsing | 將 #using 項目加入至特定檔案。 | |
AddVariable | 建立新的變數程式碼建構,並在正確位置插入程式碼。 | |
CodeElementFromFullName | 取得物件的指定程式碼項目集合。 | |
CodeElementFromFullName2 | 取得物件的指定程式碼項目集合。它與 CodeElementFromFullName 相同,不同處在於它會在查閱期間忽略命名空間。 | |
CodeTypeFromFullName | 依據完整名稱傳回程式碼項目。 | |
CodeTypeFromFullName2 | 依據完整名稱傳回程式碼項目。它與 CodeTypeFromFullName 錨點相同,不同處在於它會嘗試解析 typedef。 | |
CommitTransaction | 認可物件的目前交易。 | |
CreateCodeTypeRef | 以傳遞的資料型別指示器為根據的 CodeTypeRef 物件。 | |
DotNetNameFromLanguageSpecific | 將命名空間轉譯為 .NET 表單。 | |
ElementFromID | 尚未實作。 | |
GetClassesDerivedFrom | ||
IsValidID | 傳回所指定的名稱是否為目前語言的有效程式設計識別項。 | |
LanguageSpecificNameFromDotNet | 將完整名稱轉譯為 Unmanaged 命名空間形式。 | |
Remove | 將指定的專案從方案中移除。 | |
RemoveEx | 將指定的專案從方案中移除。 | |
StartTransaction | 開始交易。 | |
Synchronize | 以對原始程式檔進行的編輯,同步處理方案中的所有程式碼模型物件。 | |
SynchronizeCancellable | 顯示包含進度列的對話方塊。使用者可以取消等候並解除封鎖執行緒。 | |
SynchronizeFiles | 確保專案檔上的 FileCodeModel 屬性不是 null。 | |
ValidateMember | 驗證建議的名稱對於在父物件之內容中指定的種類是否為有效的 C++ 名稱。 | |
ValidateMemberName |
回頁首
備註
VCCodeModel物件在專案層級提供各種不同的語言支援的 Visual Studio (包括 Visual C++) 以程式碼模型的功能。
主要的是,這個物件用來尋找程式碼中的任何項目存取專案內 (完全符合規定的名稱)。 此外,物件會指定用來撰寫專案的程式語言。
注意事項 |
---|
大部分的這個物件的功能由 Visual Studio CodeModel2物件。 |
當使用VCCodeModel在 managed 專案中的物件,包含做為參考的 Microsoft.VisualStudio.VCCodeModel.dll。 如需有關如何將參考加入至 managed 專案的詳細資訊,請參閱HOW TO:使用加入參考對話方塊加入或移除參考。
如需如何編譯與執行此範例的詳細資訊,請參閱HOW TO:編譯 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