FileCodeModel2.CodeElementFromPoint(TextPoint, vsCMElement) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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á.