1. ホーム
  2. asp.net-mvc

RazorマークアップでVisual Studioのコードフォーマットが正しく機能しないのはなぜですか?

2023-09-22 22:16:30

質問

というより、いつになったら VS のコードフォーマットが Razor マークアップで正しく機能するようになるのでしょうか?書式設定はほとんどの構造で機能しますが、'if'ブロックでは詰まるようです。以下のコードはVSによってフォーマットされたものです。この場合、インデントを一つ増やせば簡単に修正できますが、私は日常的にこのフォーマットを受け入れていますし、自分のコードの大部分には頻繁に使いたいので、できれば手動でのフォーマットは避けたいと思っています。今はVSのフォーマット通りにしているだけです。

@{ 
    if (User.Identity.IsAuthenticated)
    {
    <text>Hello </text>
    @Html.Display("@ViewBag.UserName") <text> - </text>
    @Html.ActionLink("Sign Out", "LogOff", "Account", null, new { style = "font-weight: bold;" })
    }
 }

例えば上記のように、ifブロックの本文がインデントされていることは、見た目がきれいなだけでなく、読みやすさのためにも重要なことだと思います。

どのように解決するのですか?

エディターで、タブではなくスペース文字を使用するように設定してください。タブが使用されると、エディターは完全に気が狂ってしまうようです。なぜなら、これらのスペース文字はすべて実際の HTML 出力に含まれてしまい、データ転送サイズを大幅に増大させるからです。 私は、入力中に手動で自動書式設定を補っています。理想的ではありませんが、Microsoft が次のサービス パックでこれを解決してくれることを願っています。