标题就差不多了。我需要能够解析文档的语法以找出用户右键单击的内容以执行我的操作。我不是在操作文档,所以我真的只需要一些可以让我获得语法节点或等效的东西。我已经使用 C# 和 VB 进行了这项工作,但无法弄清楚 VSSDK 或 Roslyn SDK 的任何部分可以为我提供任何类型的打字稿语法树。
我如何使用 Roslyn 使用其他语言的示例,我有其他代码可以与 FileCodeModels 一起使用,所以如果我能得到它,我也可以使用它。
我实际上在想我需要利用安装到 VS 中的 TypeScript 扩展(创建扩展依赖),但我不太确定。
Microsoft.VisualStudio.Text.Editor.IWpfTextView textView = GetTextView();
if (textView != null)
{
SnapshotPoint caretPosition = textView.Caret.Position.BufferPosition;
Document document = caretPosition.Snapshot.GetOpenDocumentInCurrentContextWithChanges();
if (document != null)
{
SyntaxToken? token = document.GetSyntaxRootAsync().Result?.FindToken(caretPosition);
}
}