在開發ASP.NET MVC,當動作沒有相對應的,ReSharper的將顯示選項:有沒有辦法讓Resharper使用我的自定義模板創建不存在的Razor視圖?
- 與佈局創建Razor視圖
Edit
- 創建Razor視圖
Edit
- (其他選項)
我想要的是添加自己的ReSharper的文件模板作爲一個選項在這裏,像這樣:
- 從「搜索表單」模板創建Razor視圖
- 從「編輯表單」模板創建Razor視圖
有沒有辦法得到這個工作?
在此先感謝。
在開發ASP.NET MVC,當動作沒有相對應的,ReSharper的將顯示選項:有沒有辦法讓Resharper使用我的自定義模板創建不存在的Razor視圖?
Edit
Edit
我想要的是添加自己的ReSharper的文件模板作爲一個選項在這裏,像這樣:
有沒有辦法得到這個工作?
在此先感謝。
我還沒有測試過它,但它看起來像你可以寫一個插件來爲你做這個。我建議獲取ReSharper SDK,然後在反編譯器(dotPeek,natch)的%PROGRAMFILES%\ JetBrains \ ReSharper \ v7.1 \ bin文件夾中打開程序集。
查看IMvcQuickFixTemplateProvider和JetBrains.ReSharper.Intentions.Razor.QuickFixes.Mvc中的MvcQuickFixTemplateProviderBase。
被調用以提示您創建新視圖的MVC快速修復循環遍及系統註冊的所有提供程序,並添加三項 - 局部視圖,帶佈局和簡單視圖的視圖。您可以爲您感興趣的每個模板創建一個實現IMvcQuickFixTemplateProvider的類。然後您需要創建3個模板,部分使用佈局和正視圖。但是,這需要在編譯時瞭解所有模板。
如果您事先不知道所有模板,則可以嘗試創建一個實現IQuickFix的類,並將AspConfigurableNotResolvedErrorHighlighting作爲構造函數參數。這會將您的快速修復添加到未解決視圖的錯誤突出顯示中,並且您現在可以執行任何您想要的操作,在菜單中顯示您擁有的任何模板的任何操作。查看MvcViewQuickFix瞭解ReSharper如何執行此操作的詳細信息。
我沒有時間來完全檢查你的解決方案,但它似乎很有前途。我會接受你的解決方案,當我完成時我會給你反饋。非常感謝。 – 2013-02-21 13:05:10
我找到了你提到的課程。一旦我實現了我自己的MvcQuickFixTemplateProviderBase,我該如何替換現有的? – 2013-02-21 14:25:04
或者根據現有的菜單添加我自己的菜單項? – 2013-02-21 17:49:16