共用方式為


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

請參閱

參考

Microsoft.VisualStudio.VCCodeModel 命名空間