2011-11-25 21 views
6

これは曲がりくねって私を運転しています。私は長い間、VB.NETフォーム開発者です。全く新しいASP.NETと全く新しいMVCに新規です。私はVB.NET Razor構文を使用してvbhtmlページを作成しています。私は間違って自分のコードをインデントしようとしているUIに対して絶えず戦っているようです。以下の2行は、ランダムにどこそれが必要から前方に2つのタブがジャンプEnd If、できるだけ早く私はNext後リターンを打つように、上記の例ではvbhtml razorファイルでコードのインデントが正しく動作するようにするにはどうすればよいですか?

@Code 
    Layout = Nothing 
End Code 
<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <div> 
     @If True Then 
      @<ul> 
       @For x = 1 To 2 

       Next 
      </ul> 
       End If '<-- Randomly indented too far 
    </div> 
</body> 
</html> 

:新しいRazorビュー用のテンプレート・ページに基づいて、以下の例を見てみましょうさあ。他の例では、私は正しい場所に1行を押すと、別の行が正しい位置に配置されず、逆も同様です。

この時点で私はとても怒っています。自動インデントを完全に無効にして自分で管理するのはうれしいですが、その方法を見つけることさえできません!別のスレッドのアドバイスに続いて、HTMLページのインデントを無効にしましたが、停止するのはすべてHTMLタグのインデントです。コードブロックはまだ全面にスライドしています。

拡張機能で問題が発生している可能性がありますが、すべてを無効にして再起動しても問題は残ります。基本的に何か間違っているのですか? Microsoftがそれほど貧弱なものをリリースすると信じるのは難しいと思うので、私はちょうどそれを正しく使っていないでしょう。

+0

私はあなたがVisual Studioの "HTMLソース編集"ツールの一部である "ドキュメント全体のフォーマット"オプションを使うことができると思います。あるいは、コマンドを使用して(Ctrl + E、D)、文書をフォーマットすることができます。 – pramodtech

+1

@Pramodtech:私の環境では、Ctrl + E、Dは "既存ファイルを追加"ダイアログを表示しますが、Ctrl + K、Dを試しました。問題は、以前よりも悪化した文書を壊すことです。 MSにはvbhtmlの自動インデントに深刻なバグがありますが、これは一般的に研磨されたVSが一般的であることを考えると驚くべきことです。 – wwarby

+0

@wwarbyこれはVBだけではなく、C#にも影響します。これにより、まだ対処されていないことがさらに愚かになります。 –

答えて

2

私は別の質問(私は本当にこの質問を投稿する前に、ハード検索行なったし、何かを見つけることができませんでした)上(ファッションの)解決策を見つけた:基本的解決策は、あなたのコードことを確実にするためであると考えられるWhy doesn't Visual Studio code formatting work properly for Razor markup?

空白のためにタブの代わりにスペースを使います。空白が増えたためにページ全体のサイズが大きくなりましたが、問題は軽減されます(完全に削除されません)。リンクされたスレッドでは、Microsoftに接続しているように見える人は、HTMLやVB.NETの重複しているフォーマッタに関連するバグだと認識しており、新しいリリースで改善することを望んでいます。私は帯域幅の影響を軽減するためにインデントあたり2つのスペースに落ちました。

寄付者のおかげです。

0

タブでスペースを使用するのではなく、より良い代替方法は、HTMLとC#/ VBのインデントを「スマート」ではなく「ブロック」に変更することです。これは完全な解決策ではありませんが、IMOはスペースを使用するよりもずっと苦労しています。

関連する問題