【发布时间】:2015-10-05 04:07:17
【问题描述】:
我正在使用 roslyn API 和 ace 文本编辑器来创建 Web IDE。
当我将鼠标悬停在数据上时,我需要它在给定位置找到符号。这在某些情况下通过调用 roslyn 方法起作用:
var symbol = SymbolFinder.FindSymbolAtPosition(semanticModel, offset, dotNetCodeManager.Solution.Workspace, cancellationToken);
在下面的例子中,当我将鼠标悬停在“table”这个词上时。
var SchemaName = table.Schema.Name;
但是,当我将鼠标悬停在单词 Schema 或 Name SymbolFinder.FindSymbolAtPosition 上时,返回 null。
但是: 如果我转到单词表的末尾并询问自动完成信息,我会在推荐符号列表中获得 Schema
var result = Recommender.GetRecommendedSymbolsAtPosition(semanticModel, offset, solution.Workspace);
如何让 roslyn 找到属于对象的属性、方法或字段的符号?
【问题讨论】:
-
我假设你确定的 Schema 和 Name 不是 null?
-
当我从推荐者那里获得架构和名称作为建议时,它们不为空。但符号查找器无法找到这些符号。由于推荐人找到了它们,我假设它们可以从我导入的程序集中找到。
标签: c# symbols roslyn quickinfo