有没有办法为cshtml razor编辑器添加设计器视图?

时间:2013-01-31 12:33:12

标签: razor custom-controls visual-studio-extensions

我正在使用我们开发的内部工具来使用生成的模型解析剃刀模板。 问题是,现在它需要每次加载模板才能解析它。 我想添加一个edior,所以我可以在编写时预览cshtml,所以我认为最好的方法是使它成为一个视觉工作室扩展。

我研究了网络,在我看来你可以为VS编写一个自定义编辑器,但是我必须编写编辑器本身,我不想这样做。

有没有办法使用VS2012内置的现有剃刀编辑器,并添加一个预览选项卡,我的控件可以从剃须刀编辑器中获取当前文本,以便我可以解析它并显示预览?

想要使用现有编辑器的原因是着色,智能感知,错误处理等。

1 个答案:

答案 0 :(得分:9)

Razor(CSHTML和VBHTML)文件的设计视图没有内置支持。部分原因是它们是代码和HTML的混合,从“非常困难”到“超级不可能”到解析。

话虽如此,VS2012中有一个名为Page Inspector的超酷功能,它可以显示真实的渲染页面以及生成它的代码(例如你的Razor视图)以及它们之间的映射,即使有些内容来了从布局页面或部分视图。

查看http://msdn.microsoft.com/en-us/library/hh420390(v=VS.110).aspx并查找“页面检查器”部分,其中包含指向深度描述该功能的多篇博文和视频的链接。

以下是摘录:

  

Page Inspector是一个直接在Visual Studio IDE中呈现网页(HTML,Web窗体,ASP.NET MVC或Web页面)的工具。您可以使用Page Inspector检查源代码和结果输出。对于ASP.NET页面,您可以使用Page Inspector确定哪个服务器端代码生成了呈现给浏览器的HTML标记。即使启用了默认的ASP.NET捆绑和缩小功能,Page Inspector也能正常工作。