¿Cómo puedo encontrar el número de línea en el archivo fuente en el que se encontró la declaración?Nodo VisitClassDeclaration.Identifier en Roslyn
5
A
Respuesta
5
Descargo de responsabilidad: Trabajo para Microsoft en el equipo de Roslyn.
Puede usar el método ISyntaxTree.GetLineSpan()
para convertir a un número de línea. Por ejemplo, dado un "símbolo" ISymbol
, se puede obtener la ubicación de inicio de la primera definición con:
var loc = symbol.Locations.First();
var lineSpan = loc.SourceTree.GetLineSpan(loc.SourceSpan,
usePreprocessorDirectives: false);
var line = lineSpan.StartLinePosition.Line;
var character = lineSpan.StartLinePosition.Character;
Desde el título, parece que usted está comenzando con un SyntaxNode
, por lo que sólo puede utilizar el Span
propiedad directamente.
Cuestiones relacionadas
- 1. Formato extensible en Roslyn?
- 2. Roslyn Scripting
- 3. Microsoft Roslyn vs CodeDom
- 4. ¿Se puede pasar de un símbolo semántico a un nodo de árbol de sintaxis usando Roslyn?
- 5. Roslyn - No se puede encontrar SyntaxNode.ReplaceNode()
- 6. Roslyn Agregar un documento a un proyecto
- 7. Creando un EF CodeFirst DbContext usando Roslyn
- 8. ¿Se vuelven a utilizar los SyntaxNodes de Roslyn?
- 9. Las referencias en los archivos de Roslyn .rsp
- 10. Modificación del código fuente en tiempo de compilación usando Roslyn
- 11. El acceso a los archivos .config en Roslyn REPL
- 12. acceso nodo ElementTree nodo primario
- 13. ¿Agregar miembros de la clase a ubicaciones específicas usando Roslyn?
- 14. ¿Cómo hacer que la extensión Roslyn Syntax Visualizer funcione?
- 15. nodo actual vs. nodo de contexto en XSLT/XPath?
- 16. Seleccione el siguiente nodo del nodo seleccionado en PHP DOM?
- 17. Erlang: RPC a un nodo con salida en ese nodo
- 18. cómo acceder nodo hijo del nodo en el paquete htmlagility
- 19. xRuta/HTML: Elija un nodo basado en el nodo relacionado
- 20. ¿Cómo crear un nodo duplicado desde un nodo en Neo4j?
- 21. Cargando un ensamblado generado por el compilador de Roslyn
- 22. Adición de atributos personalizados a clases de C# con Roslyn
- 23. Agregar Propiedad auto-implementada a la clase usando Roslyn
- 24. Obtener nodo hijo de otro nodo, teniendo en cuenta el nombre del nodo
- 25. Obtención de los argumentos del método con Roslyn
- 26. Obteniendo un nodo en JTree
- 27. Identificadores de nodo en neo4j
- 28. nodo no seleccionable en TreeView
- 29. Nodo principal en listas vinculadas
- 30. XStream: nodo con atributos y nodo de texto?
Sé que es un proyecto de larga cola, pero ¿hay un enlace a la documentación en línea? – casperOne
Aún no tenemos la documentación en el formato MSDN. El más cercano que tenemos en este momento son los diversos documentos arriba en http://msdn.com/roslyn –
no veo la StartLinePosition aquí 'MyVisitor clase pública: SyntaxRewriter { protected override SyntaxNode VisitClassDeclaration (nodo ClassDeclarationSyntax) { Console.WriteLine (node.Identifier.ValueText); return null; } } ' –