VCCodeElement Interface

An object providing access to any code element within a source file.

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

Syntax

'Declaration
<GuidAttribute("8F6D4796-F6CF-4FBF-A542-EA6082EF658A")> _
Public Interface VCCodeElement
[GuidAttribute("8F6D4796-F6CF-4FBF-A542-EA6082EF658A")]
public interface VCCodeElement
[GuidAttribute(L"8F6D4796-F6CF-4FBF-A542-EA6082EF658A")]
public interface class VCCodeElement
[<GuidAttribute("8F6D4796-F6CF-4FBF-A542-EA6082EF658A")>]
type VCCodeElement =  interface end
public interface VCCodeElement

The VCCodeElement type exposes the following members.

Properties

  Name Description
Public property Attributes Gets a collection of all of the attributes for the parent object.
Public property Children Gets a collection of objects contained within this code construct.
Public property CodeModel Gets the VCCodeModel object for the project.
Public property Collection Gets the collection containing the object supporting this property or contained within this code construct.
Public property Comment Gets or sets the comment associated with the code element.
Public property DisplayName Gets the display name of the VCCodeElement object.
Public property DTE Gets the top-level extensibility object.
Public property EndPoint Gets the edit point that is the location of the end of the code item.
Public property EndPointOf Returns the end point of the VCCodeElement object.
Public property Extender Returns the requested Extender object if it is available for this object.
Public property ExtenderCATID Gets the Extender category ID (CATID) for the object.
Public property ExtenderNames Gets a list of available Extenders for the object.
Public property File Gets the file associated with this VCCodeElement object.
Public property FullName Gets the full path and name of the object's file.
Public property InfoLocation Describes the capabilities of the code model.
Public property IsCaseSensitive Gets a value indicating whether a code element is case-sensitive.
Public property IsCodeType Gets a value indicating whether a CodeType object can be obtained from this object.
Public property IsInjected Gets a value indicating if a code element has been injected by an attribute or macro expansion.
Public property IsReadOnly Gets a value indicating if the file containing the VCCodeElement object is read-only.
Public property IsZombie Gets a value indicating whether the VCCodeElement object exists.
Public property Kind Gets an enumeration indicating the type of object.
Public property Language Gets the programming language used to author the code.
Public property Location Gets the location of the parent object declaration.
Public property Name Gets or sets the name of the object.
Public property Parent Gets the immediate parent object of a given object.
Public property Picture Gets a picture automation object to be used as an icon in the user interface.
Public property Project Gets the Project object associated with the object.
Public property ProjectItem Gets the ProjectItem object associated with the given object.
Public property References Not currently implemented.
Public property StartPoint Gets a TextPoint object that defines the beginning of the code item.
Public property StartPointOf Gets the start point of the parent object.

Top

Methods

  Name Description
Public method GetEndPoint Gets a TextPoint object that marks the end of the code element definition.
Public method GetStartPoint Gets a TextPoint object that defines the beginning of the code element definition.
Public method IsSelf Determines if the specified code element is the same as another code element.

Top

Remarks

The VCCodeElement object provides code model functionality to existing Visual C++ integrated development environment (IDE) solutions at the code element level. Primarily, this object is used to find and modify any code element (class declaration, identifier, function definition, and so on) accessible within a source file.

Note

A large part of the functionality of this object is provided by the Visual Studio CodeElement object. For more information, see CodeElement object.

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

Examples

This example assigns a newly added class to a VCCodeElement object.

Sub GetVCCodeElement()
    Dim vcCM As VCCodeModel
    Dim vcCodeElement As VCCodeElement
    vcCM = DTE.Solution.Item(1).CodeModel
    vcCodeElement = vcCM.AddClass("MyClass", "MyClass.h")
End Sub

See Also

Reference

Microsoft.VisualStudio.VCCodeModel Namespace