2010-04-19 85 views
4

創建擴展與VS2010要容易得多了一個VS2010擴展,但這似乎不是一切的情況下...如何創建使用語言服務

我的目標:我wnat使方法調用和屬性使用STATIC類ITALIC。 (就像Eclipse和Java一樣)

我想我需要與C#語言服務部門討論此信息,但搜索「語言服務」只會產生如何創建一個結果,而不是如何使用現有的那些...

爲了讓這個問題更一般:如何獲得有關在VSX中使用它的代碼屬性(靜態/可見性等)的信息?

回答

3

通常使用您使用服務提供商查詢的語言服務。

但不幸的是,VS2010中的C#語言服務並沒有提供公共和受支持的API來獲取有關源代碼的信息。有code model API,但它根本不支持方法體。未來版本的Visual Studio將提供諸如公共支持的API之類的功能。

所以我認爲你的選項有:

  • 解析源代碼自己(例如,使用cci)。這基本上是像Resharper和CodeRush這樣的主要VS合作伙伴正在做的事情。
  • 我也會檢查DevExpress的DXCore(這是免費的)是否公開這樣的API。
+0

感謝您的精心解答!你怎麼知道未來的VS版本會公開這樣的API? – Hades32 2010-04-21 11:12:43

+0

感謝您的回答,我能夠使用DxCore創建我的項目(hackish)版本:http://gitorious.org/italizeplugin – Hades32 2010-04-21 23:44:41