使用 Vs2010 创建扩展变得更加容易,但似乎并非所有情况都是如此......

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

我想我需要与 C# 语言服务联系以获取此信息,但搜索“语言服务”只会产生有关如何创建语言服务的结果,而不是如何使用现有语言服务之一的结果...

为了让这个问题更笼统一些:如何获取有关代码属性(静态/可见性等)的信息以便在 VSX 中使用它?

有帮助吗?

解决方案

一般来说,要使用语言服务,您可以通过服务提供商查询它。

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

所以我认为你的选择是:

  • 自己解析源代码(例如使用 西西里岛)。这基本上就是 Resharper 和 CodeRush 等主要 VS 合作伙伴正在做的事情。
  • 我还会检查 DevExpress(免费)的 DXCore 是否公开了此类 API。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top