缩进在Visual Studio .cshtml文件中被破坏

Met*_*ian 11 c# asp.net-mvc resharper razor visual-studio-2015

这是最令人愤怒的事情,经过45分钟的谷歌搜索和测试后,我陷入了论坛众神...我根本无法生活没有自动缩进,即使它只是在.cshtml查看文件

我正在使用VS2015社区版.我的cshtml文件到目前为止播放得很好......

由于一些奇怪的原因,缩进打破了.

我已经尝试过显而易见的事了:

  • 选择标记并按Ctrl + K和Ctrl + F.
  • 删除并重新添加结束标记(通常重置缩进)
  • 进入工具>选项>文本编辑器> [插入语言或全部]>选项卡并将其设置为智能.

在注意到问题之前我刚刚安装了ReSharper.不确定是否导致它,但问题确实是新的,我不记得在此之前看到它.

同样奇怪的是,有些东西缩进而其他东西没有缩进

对于那些需要视觉辅助的人来说,这种缩进令我感到沮丧:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width"/>
    <title>Index</title>
</head>
<body>
<h1>Posts Index</h1>
@if (true)
{
 <text>
     <p>True is true!</p>
 </text>
}
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

lea*_*gcs 16

您提到刚刚在此问题开始之前安装了Resharper,因此您的问题很可能是由R​​esharper引起的.

默认情况下,Resharper会在您键入时执行许多额外的格式修复,但您可能会发现许多这些默认修复与您的编码风格冲突.

您可以通过配置Resharper的代码格式选项 Resharper > Options > Code Editing > HTML|Razor|etc > Formatting Style

在这种情况下,您的问题是设置Do not indent children of包含您默认不需要的标记.