VCCodeModel Interface

VCCodeModel Interface

 

An object providing project-level access to any contained code element.

Namespace:   Microsoft.VisualStudio.VCCodeModel
Assembly:  Microsoft.VisualStudio.VCCodeModel (in Microsoft.VisualStudio.VCCodeModel.dll)

[GuidAttribute("E6691CDE-9A41-4891-8D8C-C1E93958E6A0")]
public interface VCCodeModel : CodeModel2

NameDescription
System_CAPS_pubpropertyAttributes

Gets a collection of all of the attributes for the object.

System_CAPS_pubpropertyClasses

Gets a collection of classes for the object.

System_CAPS_pubpropertyCodeElements

Gets a collection of code elements.

System_CAPS_pubpropertyDelegates

Gets a collection of delegates for the object.

System_CAPS_pubpropertyDialogClasses[String]

Gets a collection of dialog classes.

System_CAPS_pubpropertyDTE

Gets the top-level extensibility object.

System_CAPS_pubpropertyEnums

Gets a collection of enumerations for the object.

System_CAPS_pubpropertyFunctions

Gets a collection of functions for the object.

System_CAPS_pubpropertyIDLImports

Gets the collection of Import statements from the .idl file of the parent object.

System_CAPS_pubpropertyIDLLibraries

Gets the collection of Library elements on the object.

System_CAPS_pubpropertyImports

Gets the collection of #import statements for the parent object.

System_CAPS_pubpropertyIncludes

Gets the collection of #include statements for the object.

System_CAPS_pubpropertyInterfaces

Gets the collection of interfaces for the object.

System_CAPS_pubpropertyIsCaseSensitive

Gets a value indicating whether a code element is case-sensitive.

System_CAPS_pubpropertyIsSynchronized

Determines whether VCCodeModel is in sync with the source code for the solution.

System_CAPS_pubpropertyLanguage

Gets the programming language used to author the code.

System_CAPS_pubpropertyMacros

Gets the collection of macros (#define statements) for the object.

System_CAPS_pubpropertyMaps

Gets the collection of maps for the object.

System_CAPS_pubpropertyNamespaces

Gets the collection of namespaces for the object.

System_CAPS_pubpropertyParent

Gets the immediate parent object of a given object.

System_CAPS_pubpropertyStructs

Gets the collection of structure elements for the object.

System_CAPS_pubpropertyTypedefs

Gets the collection of Typedef elements for the object.

System_CAPS_pubpropertyUnions

Gets the collection of Union elements for the object.

System_CAPS_pubpropertyUsingAliases

Gets the collection of alias elements for the object.

System_CAPS_pubpropertyUsings

Gets the collection of #using elements for the object.

System_CAPS_pubpropertyVariables

Gets the collection of variables for the object.

NameDescription
System_CAPS_pubmethodAbortTransaction()

Cancels the current transaction.

System_CAPS_pubmethodAddAttribute(String, Object, String, Object)

Creates a new attribute code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddClass(String, Object, Object, Object, Object, vsCMAccess)

Creates a new class code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddDelegate(String, Object, Object, Object, vsCMAccess)

Creates a new delegate code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddEnum(String, Object, Object, Object, vsCMAccess)

Creates a new enumeration code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddFunction(String, Object, vsCMFunction, Object, Object, vsCMAccess)

Creates a new function code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddIDLImport(String, Object, Object)

Adds a new import statement to a specific .idl file.

System_CAPS_pubmethodAddIDLLibrary(String, Object, Object)

Adds a new library statement to a specific .idl file.

System_CAPS_pubmethodAddImport(String, Object, Object, String)

Adds a #import element to a specific file.

System_CAPS_pubmethodAddInclude(String, Object, Object)

Adds a #include element to a specific file.

System_CAPS_pubmethodAddInterface(String, Object, Object, Object, vsCMAccess)

Creates a new interface code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddMacro(String, Object, String, Object)

Adds a #define element to a specific file.

System_CAPS_pubmethodAddMap(String, Object, String, Object)

Adds a map entry to the object.

System_CAPS_pubmethodAddNamespace(String, Object, Object)

Creates a new namespace code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddStruct(String, Object, Object, Object, Object, vsCMAccess)

Creates a new structure code construct and inserts the code in the correct location.

System_CAPS_pubmethodAddTypedef(String, Object, Object, Object, vsCMAccess)

Adds a typedef element to a specific file.

System_CAPS_pubmethodAddUnion(String, Object, Object, vsCMAccess)

Adds a union element to the VCCodeModel object.

System_CAPS_pubmethodAddUsing(String, Object, Object)

Adds a #using element to a specific file.

System_CAPS_pubmethodAddUsingAlias(String, Object, Object, Object, vsCMAccess)

Adds a using alias.

System_CAPS_pubmethodAddVariable(String, Object, Object, Object, vsCMAccess)

Creates a new variable code construct and inserts the code in the correct location.

System_CAPS_pubmethodCodeElementFromFullName(String)

Gets a collection of the specified code elements for the object.

System_CAPS_pubmethodCodeElementFromFullName2(String)

Gets a collection of the specified code elements for the object. It is identical to CodeElementFromFullName, except that it ignores namespaces during lookup.

System_CAPS_pubmethodCodeTypeFromFullName(String)

Returns a code element based on a fully qualified name.

System_CAPS_pubmethodCodeTypeFromFullName2(String)

Returns a code element based on a fully qualified name. It is identical to CodeTypeFromFullName except that it will attempt typedef resolution.

System_CAPS_pubmethodCommitTransaction()

Commits the current transaction for the object.

System_CAPS_pubmethodCreateCodeTypeRef(Object)

A CodeTypeRef object based on the data type indicator passed.

System_CAPS_pubmethodDotNetNameFromLanguageSpecific(String)

Translates the namespace to a .NET form.

System_CAPS_pubmethodElementFromID(String)

Not implemented.

System_CAPS_pubmethodGetClassesDerivedFrom(String)

Returns the classes derived from the specified class.

System_CAPS_pubmethodIsValidID(String)

Returns whether a specified name is a valid programmatic identifier for the current language.

System_CAPS_pubmethodLanguageSpecificNameFromDotNet(String)

Translates from the fully qualified name to an unmanaged namespace form.

System_CAPS_pubmethodRemove(Object)

Removes the specified project from the solution.

System_CAPS_pubmethodRemoveEx(Object, Int32)

Removes the specified project from the solution.

System_CAPS_pubmethodStartTransaction(String)

Begins a transaction.

System_CAPS_pubmethodSynchronize()

Synchronizes all code model objects in the solution with edits made to source files.

System_CAPS_pubmethodSynchronizeCancellable(String, String)

Displays a dialog box that has a progress bar. The user can cancel waiting and unblock the thread.

System_CAPS_pubmethodSynchronizeFiles()

Ensures that the FileCodeModel property on a project file is not null.

System_CAPS_pubmethodValidateMember(String, vsCMElement, String)

Validates that the proposed name is a valid C++ name for the kind given in the context of the parent object.

System_CAPS_pubmethodValidateMemberName(String, vsCMElement, vcCMNameValidationOption)

Validates the name of an element.

The VCCodeModel object provides code model functionality to various languages supported by Visual Studio (including Visual C++) at the project level.

Primarily, this object is used to find any code element accessible within a project (given a fully-qualified name). In addition, the object specifies the programming language in which the project is written.

System_CAPS_noteNote

A large part of the functionality of this object is provided by the Visual Studio CodeModel2 object.

When using a VCCodeModel object within a managed project, include Microsoft.VisualStudio.VCCodeModel.dll as a reference. For more information about adding references to a managed project, see NIB How to: Add or Remove References By Using the Add Reference Dialog Box.

See How to: Compile Example Code for Visual C++ Code Model Extensibility for information about how to compile and run this sample.

This function returns the VCCodeModel object representing the first project in a solution.

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
Return to top
Show:
© 2016 Microsoft