2012-10-02 47 views
2

我通過覆蓋WebRazorHostFactory,MvcWebPageRazorHost和相關類來創建自定義指令(如@model),將視圖的基類更改爲派生自WebPageBase的自定義類,並將也爲它添加第二個通用參數。一切正常,類正確生成;但是,ReSharper不承認新指令。有什麼方法可以擴展ReSharper來識別這個?對自定義剃鬚刀指令的支持ReSharper

回答

1

理論上你可以爲ReSharper編寫這樣一個插件。但它很複雜,結果不能保證。準備好幾個小時,用DotPeek來查看ReSharper的代碼。您可以先看看RazorModelDirective,RazorCSharpMvcLanguage和RazorCSharpMvcLanguageService。你需要做類似這些的類。

+0

在深入瞭解了一段時間的反編譯代碼之後,似乎我還需要從頭開始編寫自己的Razor .lex文件。另外,要理解反編譯的代碼是非常困難的,因爲它似乎使用很大的常量,並且在編譯時會丟失這些常量。是否有可能從我的插件中獲取MVC/Razor特定源代碼(包括.lex文件)的副本? –

+0

我不確定完整的源代碼,但我們當然可以在需要的地方提供一些代碼示例。寫信給我,我在jetbrains.com的郵件是Dmitry.Osinovsky(與我的SO帳戶名稱不同)。 –

1

James在理論上可以使用ReSharper SDK。 但它會是很核心的插件,與很多子系統有關。 如果您將採取行動在這個方向,我們可以幫助您,回答具體問題。