EditPoint.CodeElement[vsCMElement] Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the code element at the EditPoint location.
public:
property EnvDTE::CodeElement ^ CodeElement[EnvDTE::vsCMElement] { EnvDTE::CodeElement ^ get(EnvDTE::vsCMElement Scope); };
[System.Runtime.InteropServices.DispId(51)]
public EnvDTE.CodeElement CodeElement[EnvDTE.vsCMElement Scope] { [System.Runtime.InteropServices.DispId(51)] get; }
[<System.Runtime.InteropServices.DispId(51)>]
[<get: System.Runtime.InteropServices.DispId(51)>]
member this.CodeElement(EnvDTE.vsCMElement) : EnvDTE.CodeElement
Public ReadOnly Property CodeElement(Scope As vsCMElement) As CodeElement
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
public void CodeElementExample(DTE2 dte)
{
// Before running this example, open a code document from a project
// and place the insertion point anywhere inside the source code.
try
{
TextSelection sel =
(TextSelection)dte.ActiveDocument.Selection;
TextPoint pnt = (TextPoint)sel.ActivePoint;
// Discover every code element containing the insertion point.
string elems = "";
vsCMElement scopes = 0;
foreach (vsCMElement scope in Enum.GetValues(scopes.GetType()))
{
CodeElement elem = pnt.CodeElement(scope);
if (elem != null)
elems += elem.Name +
" (" + scope.ToString() + ")\n";
}
MessageBox.Show(
"The following elements contain the insertion point:\n\n"
+ elems);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
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>)