Visual Studioで自動フォーマットをオフにする


134

私はコードピュリストで、Visual Studioのデフォルト設定ではなく、独自のスタイルのコードフォーマットを好みます。ツール/オプションで自動フォーマットオプションをオフにしました。ほとんどの場合それは働きます。

組み込みのリファクタリングを使用した後、Visual Studioは私の設定をデフォルト設定で上書きします。VSがそれを行わないようにするにはどうすればよいですか?


9
@ user1142958オープンソースプロジェクトで数か月ごと、ビジネスで数年ごとに、彼/彼女のスタイルが標準より優れていると主張するホットショットに出くわします。長年の研究により、スタイルの標準によりコードの可読性と保守性が向上することが確認されています。開発者が独自の「より良い」アプローチを考え出すと、一般的に、チームの他の開発者を捨てる傾向があります。例としてこれを読んでください-woldlab.caltech.edu/~king/swc/www/readstyle.html
senfo

29
@senfoこれはすべてすばらしい情報ですが、Visual Studioの組み込みフォーマッターは、特定の場合に紛れもなく壊れています(例:stackoverflow.com/questions/6459861/…)。そのような場合は、VSの悲しい「スタイル」の試みに頼るのではなく、人間のウィットを使用して、適切だと思う標準に準拠したいと思います。
Dan Bechard、2015

5
@senfo-VS .cshtmlのオートフォーマットは、特にRazorに関しては壊れています。他の部分であなたと同意しましたが、これは機能ではありません-それはバグです
ロス

5
「標準」がキーボードで戦った2匹の猫のように見える場合、一貫性は美徳ではありません。ホットショットと呼んでもいいですが、コードを読みやすくするための余分な時間は価値があります。私の経験は完全に一貫しています。一貫性(sic)に最も情熱を傾けている人々は、思いつくことができる最も読みにくいコードを宣伝しています。
クリスフォックス

5
コードピュリストとは、テキストを正しいフォーマットで入力する人のことです。そのため、(壊れている可能性がある)自動フォーマットは必要ありません。
アンデルスリンデン2018

回答:


106

aspxページでVBを書き込んでいるときにこの問題が発生しました。

解決策は、「ツール」>「オプション」>「テキストエディター」>「基本」>「VB固有」に移動し、「かなりのリスト」をオフにすることでした。


注-Visual Studio 2015では、次の場所にあります。

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


これらのチェックボックスを任意の短いキーに簡単にバインドできるといいのですが。
Mike de Klerk

1
ありがとう、これでうまくいきました。「見栄え」は信じられないほど悪く、関数パラメーターは関数名の「下に隠れています」。これは、表形式の垂直方向の配置がコミュニケーションで働いている人なら誰でも理解しやすいものである場合に説明できない選択です。
クリスフォックス

54
一時停止して、オプションツリー階層の美しさを賞賛するつもりtext editor -> basic -> advancedです。それは基本的なものです
fostandy

12
@fostandy、私はおそらくこれを知っていると思いbasicますが、C#もそこにリストされているため、オプションのセクションではなく言語の名前です。
Lightfire228 2016年

32

きれいなリストを無効にします。それはあなたがしていることを再フォーマットするオプションです。私はそれと同じ不快感を持っていました、そしてそれをした後、私のコードは私が望む方法のままで、それは以前の設定に戻りません。

ここに画像の説明を入力してください


私のVS2010プレミアムでこのオプションを使用しない
Maciej

2
VS2017で修正
Doug Null

VS 2013でのC ++の問題を修正しませんでした。マシンを変更する前に問題は解決しなかったと思います
CashCow

6

私の場合、それはReSharperでした。

ReSharperかどうかをテストする

スタックオーバーフロー: Visual StudioでReSharperを無効にして再度有効にするにはどうすればよいですか?

ReSharperがコードを再フォーマットしないようにする

スタックオーバーフロー: ReSharperにフォーマットしないように指示するコードをマークアップする方法はありますか?

更新

結局それはReSharperでした:

ここに画像の説明を入力してください


2
おかげで、これは私にナッツを運転していました。
Simon Arnold

1
同意したが、中括弧は常に間違った場所にあり、セミコロンを押すたびに文字列が文字通りコードに踏みつけられ、重い靴を履いた。クールではありません。
Contango 2017年

5

あなたはパワーツールを持っていたかもしれませんインストールされ。

この場合、「ツール」>「オプション」>「生産性パワーツール」>「PowerCommands」>「一般」からオフにすることができます

ここに画像の説明を入力してください


4

@TheMatrixRecoderが提案したように、少し見つけてくれたので、これは他の人の役に立つかもしれません。 VS 2017オプションはここにあります

これらのオプションをユニティックにすると、セミコロンを配置したり、行末に改行を押したりしたときに、自動フォーマットが煩わしくなります。


3

VS2017では、設定メニューでコーディング言語を選択した後で変更できます。「フォーマット」サブメニューに「改行」というオプションがあります。


2

リファクタリング後に再フォーマットを無効にできるとは思えません。リファクタリングはコードを変更し、それがテキストのみであるため、フォーマットされていないテキストをソースにダンプするだけでよいのではないかと思います。VSが好きなスタイルに準拠するコードスタイルを設定し、それに従うだけの方が少し簡単ではないでしょうか。


1
コーディングスタイルはアルゴリズム化できない場合があります。一貫性のないコーディングスタイルでプロジェクトに貢献し、編集中の特定のコードのコーディングスタイルに準拠したい場合があるため、意図的に一貫性がない場合があります。
Palec、2015

2

セミコロンまたは右中括弧での再フォーマットはオフにできません。Microsoftを苛立たせて、コードのフォーマット方法をだれにでも伝えるのに手間がかかると思います。私が今まで見た中で最も読みにくいコードはそこで働いていたときのものでした。

隣接する割り当てを垂直方向に揃えたい。VSは、左側の変数の長さに関係なく、それらを等号の両側の1つのスペースに再フォーマットします。これは耐えられない。また、エディターオプションでオフにしても無視されます。上記のオープナーのようなコメントを与えられた私はこれが意図的であると確信しています。

一貫性は、それが望ましい結果につながるときにのみ美徳です。これは1つではありません。


2

自動フォーマットの防止に役立つVS2015の設定:

(およびTango91が提案したのと同じように、[ツール]> [オプション]> [テキストエディター]> [基本]> [詳細] )

ここに画像の説明を入力してください


1

TOOLS-> OPTIONS-> Text Editor-> CSS-> Formattingに従います。「Compact Rules」を選択し、「Hiearerchical indentation」のチェックを外します


テキストエディタ-> CSSまたはHTML->タブ->インデント->(o)なし
Bob Stein

1

Clang形式の場合もあります。以前は、ファイル全体がファイルの保存時に自動的にフォーマットされ、(Clang形式が有効になっていないリポジトリの場合)問題を引き起こしていました。

このような動作は、「ツール->オプション-> LLVM / Clang-> ClangFormat->保存時にフォーマット->有効」をFalseにすると消えます。

保存時のClangFormat形式


0

コードの書式設定を微調整できます。私は常に余分な改行をすべてオフにしており、コードのフォーマット方法には問題ありません。

設定をできる限り好みに合わせて調整すると、リファクタリングを使用するたびに最小限の作業で済みます。


0

実際のソリューションに対するTangoの回答に加えて、オートフォーマットを常に最新にしたいが、関連する変更を台無しにしたくないという人がいるかもしれません。ファイルを変更して自動フォーマットを有効にし、それらの変更をチェックインしてから、実際に変更を加えることをお勧めします。

そうすれば、コードを最新の状態に保つことができますが、チェックインが適切になります。


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