如何在具有代码修复的诊断程序中获取有关当前工作空间(例如项目路径、解决方案路径)的信息?
我正在实现类型为 ISyntaxNodeAnalyzer 的诊断。
我需要访问 SymbolFinder.FindImplementationsAsync,但是要这样做,我需要 Solution 实例。
编辑:我的代码看起来像这样:
var syntax = (LocalDeclarationStatementSyntax) node;
var type = syntax.Declaration.Type;
var typeSymbol = semanticModel.GetTypeInfo(type).ConvertedType;
我想查找typeSymbol的所有用法/引用。TypeSymbol表示源代码中的类。
为此,我想使用SymbolFinder,但SymbolFinder的方法需要Solution的实例...在早期版本的Roslyn中,Document作为诊断的方法参数,您可以进入项目和解决方案。