23

VS の次のバージョンでの実装を希望する場合は、ここで投票してください


次の横方向に長い<button> HTML宣言があるとします。

<button type="submit" class="btn btn-primary" id="save" name="action:@ViewContext.RouteData.Values["action"]"><i class="icon-save icon-large"></i> @Localization.Save</button>

ご覧のとおり、すべてのタグ属性はインラインであり、コード エディターで右に長く伸びています...

Ctrl次のように+のK後にCtrl+を使用してフォーマットできる Visual Studio のオプションまたは拡張機能を知っていますかF

<button type="submit"
        class="btn btn-primary"
        id="save"
        name="action:@ViewContext.RouteData.Values["action"]">
<i class="icon-save icon-large"></i>@Localization.Save
</button>

上記のフォーマットにより、特定の属性を簡単に見つけることができると思いますが、垂直スクロールバーが明らかに少し長くなります。:)

Visual Studio のオプションをいじってみましTOOLS => Options... => Text Editor => HTMLたが、この動作を制御するオプションが見つかりませんでした。

もちろん、手動で位置合わせすることもできますが、Ctrl+をK押してからCtrl+Fを押すと、カスタムメイドの書式設定がすべて失われます。

そのようなものが利用できない場合、これは Visual Studio 拡張機能の優れたアイデアになると思います。さらに、属性をアルファベット順に並べることもできます。:)


もう少しグーグルで調べXAMLてみると、Visual Studio のエディターには、HTML エディターに必要なものがあることがわかりました。

各属性を別々の行に配置する

ここに画像の説明を入力


Visual Studio Extensibility フォーラムで同じ質問をしました。

http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/0d97c205-9f29-4ba7-9d0b-253413077dce/


VS の次のバージョンでの実装を希望する場合は、ここで投票してください

4

5 に答える 5

7

さて、ASP.NET フォーラムでトリックを見つけました。

各属性を別々の行に配置する

私の質問で説明されているXAML機能とは異なりますが、機能します。

オプション/テキストエディター/HTML/フォーマットで、「特定の長さを超えたときにタグを折り返す」をチェックして、長さを1に設定できます。これにより、フォーマッターが狂ったように折り返されます。


別のオプションは次のとおりです。

  1. =>に移動しTOOLS => Options... => Text Editor => XML => Formattingて、属性をそれぞれ別の行に揃えます。

  2. .cshtml ファイルを閉じます。ソリューション エクスプローラーでそれを右クリックし、[プログラムから開く...] を選択してから、[XML (テキスト) エディター] を選択します。すべてのコンテンツを選択し、 Ctrl+Kを実行してからCtrl+を実行しFます。

    *この 2 番目のオプションは面倒です! :(

于 2013-02-14T01:56:02.487 に答える
2

勇気があれば、これを行うエディター拡張機能を作成できます。ノアがアイデアのために少し前に書いた align 拡張機能を見てみましょう: https://github.com/NoahRic/AlignAssignments

于 2013-02-14T02:38:29.270 に答える
1

これは、リリースされた Visual Studio 2013 Preview の新しい HTML エディターに実装されています。これは新しいエディターのみの機能で、html および cshtml ファイルでは機能しますが、aspx/ascx ファイルでは機能しません。各値の後に [return] を押すと、属性は最初の属性定義の下に積み上げられます。Format Document はこれらの変更を取り消すことはありません。

于 2013-06-28T16:53:28.940 に答える