7

我正在使用我们开发的内部工具来解析带有生成模型的剃须刀模板。问题是现在它每次都需要加载模板才能解析它。我想添加一个编辑器,这样我就可以在编写 cshtml 的同时预览它,所以我认为最好的方法是让它成为一个 Visual Studio 扩展。

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

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

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

4

1 回答 1

10

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 或网页)的工具。您可以使用 Page Inspector 检查源代码和结果输出。对于 ASP.NET 页面,您可以使用 Page Inspector 来确定哪个服务器端代码生成了呈现给浏览器的 HTML 标记。即使启用了默认的 ASP.NET 捆绑和缩小功能,Page Inspector 也能正常工作。

于 2013-01-31T19:18:43.897 回答