从分类器VSIX获取语义模型

Liv*_*viu 3 c# roslyn visual-studio-2013

由于R#不支持Roslyn Early Preview C#6.0功能,代码看起来非常沉闷......

我想使用分类器VSIX对代码着色.是否有可能从Roslyn语言服务获取当前文档的语义模型?

SLa*_*aks 5

您需要添加对Microsoft.CodeAnalysis.EditorFeatures.Text.dll的引用,然后使用以下代码.

var doc = point.Snapshot.GetOpenDocumentInCurrentContextWithChanges();
var model = await doc.GetSemanticModelAsync();
Run Code Online (Sandbox Code Playgroud)

这需要Microsoft.CodeAnalysis.EditorFeatures.TextNuGet包(需要.NET 4.6)