如何让Visual Studio提供控制器和操作语法高亮显示,就像它为控制器和操作字符串提供以下对象一样?
使用时:
Html.Action("Index", "Home");
Visual Studio在控制器和操作上提供了额外的突出显示,它甚至会尝试检测哪些可用,并将其作为选项提供。
请注意下图中的内容,它为我提供了基于我输入的控制器的操作选项。这就是我想要的自定义代码。
我完全使用类似于以下内容的HtmlHelper扩展方法:
public static MvcHtmlString Action(this HtmlHelper htmlHelper, string actionName, string controllerName, string myAwesomeField) {
return Action(htmlHelper, actionName, controllerName, null /* routeValues */, myAwesomeField);
}
我知道我需要一些字符串,我的扩展方法被智能感知所吸引。当您查看Microsoft's code时,操作和控制器的参数是字符串,但Visual Studio知道这些控制器和操作是否存在并提供其他智能感知支持。工具如何得到它?
答案 0 :(得分:3)
如果您正在使用Resharper(当然是您),那么这是我在5分钟内完成的完美解决方案:
按照Jetbrains blog上的说明操作。 我选择了选项2,将注释源代码放在我的项目中包含的名为jetbrains.Annnotations.cs的文件中。然后只需添加如下参数属性修饰(在我的方法 WithLink 中),所有只能正常工作。
public void WithLink([AspMvcAction] string action, [AspMvcController] string controller)
尼斯
答案 1 :(得分:0)
您必须将扩展程序所在的命名空间包含在 web文件夹中的视图文件夹或特定视图本身(通过@using
)中,以获得智能感知支持。