5
Jak znaleźć numer wiersza w pliku źródłowym, w którym znaleziono zgłoszenie?VisitClassDeclaration node.Identifier w Roslyn
Jak znaleźć numer wiersza w pliku źródłowym, w którym znaleziono zgłoszenie?VisitClassDeclaration node.Identifier w Roslyn
Zastrzeżenie: Pracuję dla Microsoft w zespole Roslyn.
Możesz użyć metody ISyntaxTree.GetLineSpan()
, aby przekonwertować na numer wiersza. Na przykład, podać „symbol” ISymbol
, można uzyskać położenie początkowe pierwszej definicji z:
var loc = symbol.Locations.First();
var lineSpan = loc.SourceTree.GetLineSpan(loc.SourceSpan,
usePreprocessorDirectives: false);
var line = lineSpan.StartLinePosition.Line;
var character = lineSpan.StartLinePosition.Character;
z tytułu, wygląda na to, że począwszy od SyntaxNode
, więc można po prostu użyć Span
własność bezpośrednio.
Wiem, że to projekt długofalowy, ale czy istnieje link do dokumentacji online? – casperOne
Nie mamy jeszcze dokumentacji w formacie MSDN. Najbliżej mamy w tej chwili są różne dokumenty w górę w http://msdn.com/roslyn –
ja nie widzę StartLinePosition tutaj 'public class MyVisitor: SyntaxRewriter { protected override SyntaxNode VisitClassDeclaration (węzeł ClassDeclarationSyntax) { Console.WriteLine (node.Identifier.ValueText); return null; } } ' –