C# 使用roslyn从文本位置转到定义

C# 使用roslyn从文本位置转到定义,c#,roslyn,go-to-definition,C#,Roslyn,Go To Definition,如何获取当前自定义位置和文件(在项目或解决方案中)下任何符号定义的文件名和位置 我执行以下步骤(简化说明): 通过以下方式创建语法树集合和编译: SyntaxTrees = new List<SyntaxTree>(); foreach (var file in projectFiles) syntaxTrees.Add(SyntaxTree.ParseText(File.ReadAllText(file)); Compilation = Compilation.Create

如何获取当前自定义位置和文件(在项目或解决方案中)下任何符号定义的文件名和位置

我执行以下步骤(简化说明):

  • 通过以下方式创建语法树集合和编译:

    SyntaxTrees = new List<SyntaxTree>();
    foreach (var file in projectFiles)
        syntaxTrees.Add(SyntaxTree.ParseText(File.ReadAllText(file));
    Compilation = Compilation.Create("temp.cs", null, SyntaxTrees, new MetadataReference[] { mscorlib });
    
  • 符号具有适当的定义获取方法:
    DeclaringSyntaxNodes
    。 如何在
    SemanticModel
    中解析
    Symbol
    上的
    token
    ?谢谢。

    您正在寻找。

    您正在寻找

    var token = currentTree.GetRoot().FindToken(textPos, false);