如何获取光标处的标识符类型

时间:2012-10-09 10:47:39

标签: c# visual-studio-2012 visual-studio-extensions vs-extensibility

我正在编写包含ICompletionSourceProvider的Visual Studio 2012扩展。我需要确定光标位置的标识符类型。我尝试了以下方法:

  1. 使用IClassifierAggregatorService,我可以确定当前单词是标识符,但没有其他信息。
  2. 使用DTE2,我可以在当前位置获取CodeElement,但模型不完整,我能得到的最接近的是当前方法(CodeFunction)
  3. 很明显Visual Studio有这些信息,但我该如何检索它呢?我只需要在编辑C#文件时就可以使用它。

1 个答案:

答案 0 :(得分:2)

Visual Studio 2012不提供访问此信息的公共API。我们拥有它,是的,但你无法实现它。您可能需要查看Roslyn CTP,我们正在处理一组API,以支持与您自己完全相同的方案。

披露:我在罗斯林团队。