1

在开发 ASP.NET MVC 时,当一个 Action 没有对应的 View 时,Resharper 会显示选项:

  • Edit使用布局创建 Razor 视图
  • 创建剃刀视图Edit
  • (其他选项)

我想要的是在此处添加我自己的 Resharper 文件模板作为选项,如下所示:

  • 从“搜索表单”模板创建 Razor 视图
  • 从“编辑表单”模板创建 Razor 视图

有没有办法做到这一点?

提前致谢。

4

1 回答 1

3

我还没有测试过,但看起来你可以写一个插件来为你做这件事。我建议获取 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-21T09:35:25.900 回答