Share via


EditPoint2.CodeElement[vsCMElement] Property

Definition

Gets the code element at the EditPoint location.

public:
 property EnvDTE::CodeElement ^ CodeElement[EnvDTE::vsCMElement] { EnvDTE::CodeElement ^ get(EnvDTE::vsCMElement Scope); };

Parameters

Scope
vsCMElement

Required. A vsCMElement constant indicating the code element with the specified kind that contains the editor location.

Property Value

A CodeElement object.

Implements

Attributes

Examples

Sub CodeElementExample(ByVal dte As DTE2)  

    ' Before running this example, open a code document from a project  
    ' and place the insertion point anywhere inside the source code.  
    Try  
        Dim sel As TextSelection = _  
            CType(dte.ActiveDocument.Selection, TextSelection)  
        Dim pnt As TextPoint = CType(sel.ActivePoint, TextPoint)  

        ' Discover every code element containing the insertion point.  
        Dim elems As String  
        Dim elem As CodeElement  
        Dim scope As vsCMElement  
        For Each scope In [Enum].GetValues(scope.GetType())  
            elem = pnt.CodeElement(scope)  
            If IsNothing(elem) = False Then  
                elems &= elem.Name & _  
                    " (" & scope.ToString() & ")" & vbCrLf  
            End If  
        Next  

        MsgBox("The following elements contain the insertion point:" _  
            & vbCrLf & vbCrLf & elems)  
    Catch ex As Exception  
        MsgBox(ex.Message)  
    End Try  

End Sub  

Remarks

If the specified code element type is not at the EditPoint location, then CodeElement returns Nothing. CodeElement is a shortcut for TextPoint.Parent.Parent.ProjectItem.CodeModel.CodeElementFromPoint(TextPoint, <scope>)

Applies to