2014-12-03 56 views
0

我想實現與MEF編輯器擴展與VS2012代碼片段,我也跟着從鏈接演練「實施代碼段」:http://msdn.microsoft.com/en-us/library/ff926100(v=vs.110).aspx如何代碼片段添加到VSIX MEF編輯器擴展沒有語言服務

的實現基於演練顯示語句完成。此功能正常工作。

「實現代碼片段」的第一部分是「創建並註冊代碼片段」,它不起作用。在該部分的末尾是步驟8:

生成並運行項目。在項目運行時開始的Visual Studio實驗性實例中,您剛剛註冊的代碼段應該以TestSnippets語言的代碼片段管理器顯示。

沒有錯誤,但代碼片段管理器不顯示TestSnippets語言,因此代碼片段不存在。我已經堅持了幾個星期,並且找不到資源來理解這個問題。

任何想法如何解決這個問題將不勝感激。

感謝

回答

0

我知道這並不容易,但我一直在與VSIX現在搞亂了好一陣子。如果你想解決這些問題,你需要使用反射器或dotPeek進行硬核調試。

通過調試,我的意思是,您需要逐行調試所有MEF管道的實際執行代碼,以及使用MEF的代碼。

基本上,只要找到這裏的「代碼段管理器」正在做的工作,然後看看爲什麼你的語言是不是在拉

基本上,你需要問一個問題:

1)爲什麼Code Snippets Manager不顯示TestSnippets語言?

然後,您只需要通過調試來回答它,找到代碼片段管理器執行顯示語言決定的位置,並查看它爲什麼不顯示在那裏。

我已經用這種方法解決了很多問題,我很感激大多數代碼都是C#,這意味着很容易遍歷代碼並查看執行的進行情況。

+0

代碼片段管理器是Visual Studio代碼的一部分,您如何調試VS代碼? – 2014-12-05 00:43:56

+0

@MiguelV;只需下載反射器(谷歌它),可以讓你步入任何代碼。只需將斷點放到代碼中,一旦VisualStudio調用它,就可以通過調用堆棧向後導航,並將斷點放到VS代碼中。 – 2014-12-05 08:53:18

相關問題