5
如何找到聲明在源文件中找到的行號?VisitClassDeclaration node.Identifier in Roslyn
如何找到聲明在源文件中找到的行號?VisitClassDeclaration node.Identifier in Roslyn
聲明:我在Roslyn團隊爲微軟工作。
您可以使用ISyntaxTree.GetLineSpan()
方法轉換爲行號。例如,給定一個ISymbol
「符號」,就可以得到與第一定義的開始位置:
var loc = symbol.Locations.First();
var lineSpan = loc.SourceTree.GetLineSpan(loc.SourceSpan,
usePreprocessorDirectives: false);
var line = lineSpan.StartLinePosition.Line;
var character = lineSpan.StartLinePosition.Character;
從標題,它看起來像你開始用SyntaxNode
,所以你可以只使用Span
屬性直接。
我知道這是一個長尾項目,但是有鏈接到在線文檔嗎? – casperOne
我們還沒有MSDN格式的文檔。我們目前最接近的是各種證件達在http://msdn.com/roslyn –
我沒有看到StartLinePosition這裏 '公共類MyVisitor:SyntaxRewriter { 保護覆蓋SyntaxNode VisitClassDeclaration(ClassDeclarationSyntax節點) { Console.WriteLine(node.Identifier.ValueText); 返回null; } }' –