【问题标题】:ASP.NET MVC3 Razor cshtml text editor format document settingsASP.NET MVC3 Razor cshtml 文本编辑器格式文档设置
【发布时间】:2011-03-14 16:08:04
【问题描述】:

使用 Visual Studio 2010 SP1(测试版?)我正在使用 Razor cshtml 文件,但是我不喜欢格式化我的文档会删除每一行空白。

有什么方法可以配置吗?

我查看了 Visual Studio 的 Options

编辑:进一步思考,剃须刀页面似乎忽略了元素前后行的文本编辑器设置,并选择始终折叠它们。

【问题讨论】:

  • VS2010 SP1 上周发布了测试版。确保您已更新到最新版本。我不能说我已经看到了您所描述的问题(一段时间以来一直在使用 Razor 语法)。您是否对文本编辑器进行了任何相关的更改?
  • 您是否可能使用某种扩展程序来执行此操作?
  • @JasCav 还没有看到那个消息,所以我坐在那里等待安装程序来做这件事,但不,我没有特别会导致这种情况的东西。它也只是 Razor,我已经看到这种行为在 2 台不同的机器上表现得完全相同。我将发布 SP1 版本中的任何新内容。是的,编辑
  • 好的,让我们知道。同时,您格式化代码的过程是什么? (我假设是 Ctrl+K,Ctrl+F - 但我想确保它不是别的东西。)
  • 安装 SP1 (RTW) 后 cshtml 文件的行为相同

标签: visual-studio-2010 asp.net-mvc-3 razor


【解决方案1】:

当您使用无效的剃须刀代码段格式化文档时,显然会触发格式文档折叠所有行的行为

@using (Html.BeginForm("Query", "Logins"))
{
    @Html.ValidationSummary();

    @Html.LabelFor(model => model.Query.Email)

    @Html.EditorFor(model => model.Query.Email)

    <input type="submit" name="submit" value="Search" />
}

如上所示的适当剃须刀代码块不会在格式化文档期间删除它的行。只有缩进可能会在此块上按预期更改。

但是,如果代码中有错误,例如该块是否存在

@using (Html.BeginForm("Query", "Logins")
{
    @Html.ValidationSummary();

    @Html.LabelFor(model => model.Query.Email)

    @Html.EditorFor(model => model.Query.Email)

    <input type="submit" name="submit" value="Search" />
}

注意表单定义末尾缺少的 ),在此文档上调用 format 将导致

@using (Html.BeginForm("Query", "Logins")
{
@Html.ValidationSummary();                
@Html.LabelFor(model => model.Query.Email)
@Html.EditorFor(model => model.Query.Email)
<input type="submit" name="submit" value="Search" />
}

因此,故事的寓意似乎是,如果您曾经格式化剃刀文档并看到所有内容自行崩溃以查找损坏的代码段。

【讨论】:

    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 2014-07-21
    • 1970-01-01
    • 2018-10-12
    • 2015-01-15
    • 1970-01-01
    • 2015-06-22
    • 1970-01-01
    相关资源
    最近更新 更多