RazorでVisual Studioコードのフォーマットを無効にする


118

これは以前に尋ねられました:Razorマークアップに対してVisual Studioコードフォーマットが正しく機能しないのはなぜですか?

しかし、その質問は2年前のものです。そして、Razorフォーマットはまだ完全に受け入れられません。私はそれを修正することをあきらめました。

CSHTMLファイルのすべてのVisual Studioフォーマットを無効にできますか?そうでない場合、すべてのVisual Studioフォーマットを完全に無効にできますか?使用できるサードパーティのハックはありますか?何かがあるはずです!

2013にアップグレードしましたが、書式設定も同様に悪いです。

[編集]:2015年も同様に悲惨です。私は本当に彼らがこれを修正してくれることを望みます。

[編集]:2017年も同様に悲惨です。私は本当に彼らがこれを修正してくれることを望みます。

[編集]:2019も同様に悲惨です。私は本当に彼らがこれを修正してくれることを望みます。


15
2013年におけるその悪いこと
TombMedia

3
真剣に。これについて実行できることが必要です...
JustMaier 14

7
2015年は最悪です。
Paul

4
2017 RTM対に固定されていない
4月

5
2018年には修正されません
Dirk Boer

回答:


53

できません。これは、最初の.netバージョン(ビジュアルスタジオ2002/2003)以降のVSの「機能」に組み込まれています。

書式設定のバグに関する大量の接続レポートがありますが、Microsoftはそれらを完全に無視するか、修正を「次のバージョン」にプッシュします。ここでマイクロソフトの回答例を見ることができます

あなたはマイクロソフトチームに独自のフィードバックを投稿することができ、ここで


1
私は、彼らが何かを変更したかどうかわからない、再び憤慨でこれを探していたが、メトロイドハンターの修正は、カミソリで私の作品stackoverflow.com/a/28053865/62829
mattmanser

4
2015年にビジュアルスタジオのHTMLがいかにひどいのか?
schmoopy 2015年

1
実際には、2015年の方が2013年のバージョンよりも悪いです(ブレースを開くたびに無関係なものをインデントするC#にも同じことが当てはまります)。以前はビジュアルスタジオが大好きでしたが、これは徐々にそれを殺しています。
youen

1
注:接続リンクは現在すべて
無効に

64

ツール->オプション->テキストエディター-> HTML->詳細

「貼り付け時のフォーマット」というキー値アイテムPasteがあり、その隣にブール値があります。これをfalseに変更すると、かみそり構文での貼り付け時のフォーマットが無効になります。

VS Professional 2013、バージョン12.0.30110.00 Update 1を使用しています


ありがとうございました!貼り付け時の自動(不正)なフォーマットは、私を夢中にさせていました。これで解消したようです。
2015

すごい、これはまさにこれを追い払うために必要なものです!どうも!
Martin S Ek

私はあなたに2回以上賛成票を投じます。これは、vsバージョン2013 up1以降のvsに対する正しい回答です。
Erik Simonic、2016年

2
ビジュアル2015では機能しませんか?私はHTML / advancedの "format on paste"のチェックを外しましたが、それでも貼り付け時にファンキーなunformatting / crazy indentingを取得します。cshtmlファイルに別のエディターを使用することを検討していますが、C#のオートコンプリートが失われます。この状況はクレイジーです。
youen

5
VS2017で私のために働いた。
デイブ

36

見るべき場所:

Tools -> Options -> Web Essentials -> HTML -> Auto-format HTML on Enter

(Web Essentials拡張機能のインストールが必要です)

Falseに設定

Tools -> Options -> Text Editor -> HTML -> Advanced -> Format on Paste

Falseに設定

これらの設定により、Visual Studio 2013で問題は発生しません。

以前はCtrl-Zを何度も押す必要がありました。コードを作成してテストした後で混乱を解くのを忘れた場合は、大変な苦労でした。私は、Microsoftが行うことができます感じたくさんこれを設定するだけでなく、それをよりアクセシブルヘルプユーザーへ。


3
「Web Essentials」エリアはありません。
Paul

正解です。これは何年もの間私を悩ませてきましたが、それ以上ではありません!
デビッドカークランド

2
@Paul Web Essentialsは、HTML、CSS、JSエディターに関連する多くの機能を拡張するVS拡張機能です。インストールして自動フォーマット無効にすると、非常に役立ちます
SandRock 2016年

3
これは答えとしてマークする必要があります。特にWeb Essentialsに関する行。@dazbradburyありがとうございます!
Aggromonster 2016年

1
2番目のオプションはVS2017でそれを修正せず、最初のオプションは存在しません。
ygoe 2018年

24

貼り付け後にCTRL + Zを押すと、書式設定が削除されました。


3
ここで働いた...私は〜8行に広がる一連のデータバインドノックアウト属性を持つ<select>を含むチャンクを貼り付けていました、それはラクダのケーシングを殺し、コロンを削除していました...パントして再入力しようとしていましたそれ...その後、私はこのCtrl + Zを実行し、それが機能することを
大声で叫び

賛成。これはVS 2015で機能します:)他の解決策([ツール]> [オプション]の下のさまざまな設定)は機能しませんでした。少なくとも、何らかの方法でcode / html間で変更されるはずのコンテンツを貼り付ける場合(つまり、C#コードとそれに続くhtmlを含む行を貼り付ける場合)タグまたはHTMLマークアップをC#コードの行の直後に貼り付けます。
savehansson、2015年

これはVSのどこでも常に機能します。これは、フォーマットが行った混乱を元に戻す唯一の方法です。(または、手動で実際にクリーンアップしましたか??)私は既にそれに慣れていますが、非常に迷惑です。
ygoe 2018年

10

私の場合、R#が原因となったため、ここで無効にすることができます。

ReSharper>オプション>コード編集> Razor>エディターとフォーマット

https://www.jetbrains.com/help/resharper/2016.1/Reference__Options__Languages__Razor__Editor.html


これはVisual Studioには含まれていませんが、個別にインストールする必要があります。
ポール、

2
ここで言及する理由は、Visual Studioが実際にR#(多くの開発者が使用する)である可能性があるときに、Visual Studioが再フォーマットを(私と同じように)実行していたと誰かが考えているためです。したがって、誰かがそれを無効にできず、R#がインストールされている場合、両方で無効になっていることを確認する必要があります。
hcoverlambda

5
R#2017.3では、これらの設定はReSharperにあります。オプション| 環境| エディター| エディタの動作
Dark Daskin 2017

1
R#2018.3 では、エディターの動作、貼り付け時の自動フォーマットも「なし」に設定する必要がありました
EM0

7

残念ながら、貼り付け時のオートフォーマットを防ぐ唯一の方法は、新しいコードを貼り付ける場所をコメントアウトし、貼り付け操作の後にコメントの指示を削除することです。

検索と置換で自動フォーマットがトリガーされないようです。ただし、貼り付けるとコードブロック全体が再フォーマットされます。

これは言葉を超えてひどいです。Visual Studio IDEをRazor編集で事実上使用できなくします。Razorファイルには外部エディターを使用する必要があります。

さらに悪いことに、Razorビューを常に編集していると、最新のVisual Studio 2013 Update 1でもクラッシュします。


6

楽しい部分は、C#フォーマットとHTMLフォーマットを無効にできますが、Razorフォーマットは無効にできないことです。

「ツール」>「オプション」>「テキストエディター」>「C#」>「フォーマット」>「貼り付け時に自動的にフォーマット」のチェックを外し、HTMLについても同じです。

これにより、cshtmlファイルで次の楽しいエクスペリエンスが得られます。

  • HTMLコードを貼り付け:フォーマットなし
  • C#コードを貼り付け:フォーマットなし
  • Razorコードを貼り付け:すべてを間違ってフォーマットする

そして、Razorオプションを変更するオプションはないので、あなたはこれに耐えなければならないでしょう。

私の「解決策」:自動フォーマットを元に戻すには、貼り付けてctrl-zを押します


1
私も..しかし、それは私を怒らせています!
Matt Kocaj 14

あなたの解決策は回避策であり、大きなファイルを編集するときに数分かかります。
Arturo

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.