如何创建使用语言服务的VS2010扩展

时间:2010-04-19 12:44:59

标签: c# visual-studio visual-studio-2010 vsx languageservice

使用Vs2010可以更轻松地创建扩展,但似乎并非如此......

我的目标:我想要进行STATIC类ITALIC的方法调用和属性使用。 (就像Eclipse和Java一样)

我认为我需要与C#语言服务部门讨论这些信息,但是搜索“语言服务”只会产生如何创建一个的结果,而不是如何使用现有的结果......

为了让这个问题更加通用:我如何获得有关在VSX中使用它的代码属性(静态/可见性等)的信息?

1 个答案:

答案 0 :(得分:3)

通常使用语言服务,您可以使用服务提供商进行查询。

但遗憾的是,VS2010中的C#语言服务并未提供公共和支持的API来获取有关源代码的此类信息。有code model API,但它根本不支持方法体。 Visual Studio的未来版本将提供公共支持的API等功能。

所以我认为你的选择是:

  • 自己解析源代码(例如使用cci)。这基本上是像Resharper和CodeRush这样的主要VS合作伙伴正在做的事情。
  • 我还会检查DevExpress的DXCore(免费)是否公开了这样的API。