FileCodeModel2.CodeElementFromPoint(TextPoint, vsCMElement) Método

Definição

Retorna um elemento de código em um local específico em um arquivo de origem.

public:
 EnvDTE::CodeElement ^ CodeElementFromPoint(EnvDTE::TextPoint ^ Point, EnvDTE::vsCMElement Scope);
public:
 EnvDTE::CodeElement ^ CodeElementFromPoint(EnvDTE::TextPoint ^ Point, EnvDTE::vsCMElement Scope);
EnvDTE::CodeElement CodeElementFromPoint(EnvDTE::TextPoint const & Point, EnvDTE::vsCMElement Scope);
[System.Runtime.InteropServices.DispId(5)]
public EnvDTE.CodeElement CodeElementFromPoint (EnvDTE.TextPoint Point, EnvDTE.vsCMElement Scope);
[<System.Runtime.InteropServices.DispId(5)>]
abstract member CodeElementFromPoint : EnvDTE.TextPoint * EnvDTE.vsCMElement -> EnvDTE.CodeElement
Public Function CodeElementFromPoint (Point As TextPoint, Scope As vsCMElement) As CodeElement

Parâmetros

Point
TextPoint

Obrigatórios. Um TextPoint objeto que representa o local do editor para o qual você deseja um elemento de código.

Scope
vsCMElement

Obrigatórios. Um vsCMElement valor que representa o elemento de código do tipo especificado que contém o local do editor.

Retornos

CodeElement

Um objeto CodeElement.

Implementações

Atributos

Exemplos

Sub CodeElementFromPointExample(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.  
    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 fcm As FileCodeModel = _  
        dte.ActiveDocument.ProjectItem.FileCodeModel  
    Dim elems As String  
    Dim elem As CodeElement  
    Dim scope As vsCMElement  
    For Each scope In [Enum].GetValues(scope.GetType())  
        Try  
            elem = fcm.CodeElementFromPoint(pnt, scope)  
            elems &= elem.Name & " (" & scope.ToString() & ")" & vbCrLf  
       Catch ex As Exception  
            ‘don’t do anything -  
            ‘this is expected when no code elements are in scope  
       End Try  
    Next  
    MsgBox("The following elements contain the insertion point:" _  
            & vbCrLf & vbCrLf & elems)  
End Sub  
public void CodeElementFromPointExample(DTE2 dte)  
{  
    // Before running this example, open a code document from a project  
    // and place the insertion point anywhere inside the source code.  
    TextSelection sel =   
        (TextSelection)dte.ActiveDocument.Selection;  
    TextPoint pnt = (TextPoint)sel.ActivePoint;  
    // Discover every code element containing the insertion point.  
    FileCodeModel fcm =   
    dte.ActiveDocument.ProjectItem.FileCodeModel;  
    string elems = "";  
    vsCMElement scopes = 0;  
    foreach (vsCMElement scope in Enum.GetValues(scopes.GetType()))  
    {  
        try  
        {  
            CodeElement elem = fcm.CodeElementFromPoint(pnt, scope);  
            elems += elem.Name + " (" + scope.ToString() + ")\n";  
        }  
        catch (COMException ex)  
        {  
            //don’t do anything – this is expected if there is   
            //no code element in the scope  
        }  
    }  
    MessageBox.Show(  
        "The following elements contain the insertion point:\n\n" +   
        elems);  
}  

Comentários

CodeElementFromPoint Retorna o elemento de código associado com TextPoint base no escopo ou granularidade de contenção especificada. Se nenhum elemento de código do tipo especificado contiver o local do editor, o CodeElementFromPoint falhará.

Aplica-se a