web-dev-qa-db-ja.com

VS2013 for C ++で自動フォーマットをオフにするにはどうすればよいですか?

VS2013はC++の自動フォーマットを追加しました。自動フォーマットに関する私の個人的な意見は、開発者にとって最終的に有害であるということですが、誰もが同意するわけではないことを受け入れなければなりません。バグは、自動フォーマットを完全に無効にできないように見えることです。次のように入力すると、[ツール]-> [テキストエディター]-> [C/C++]-> [書式設定]-> [一般]の下のすべてのチェックボックスをオフにしました。

void f ()

VS2013はこれを

void f()

これはこの特定のプロジェクトのコード標準ではないため、戻ってスペースを挿入する必要があります。私がVSと戦わなければならない他の例があります。

間隔の設定を変更したくないのは、

  1. 私は異なるコード標準を持つ複数のプロジェクトで働いています
  2. 自動フォーマットを信じていないので、邪魔にならないようにしたい

VSがコードを自動的に変更しないようにしたいだけです。

PS。私はVSがコードをフォーマットできることに反対ではありませんが、手動でそれを呼び出したいです

ToolsメニューからOptionsダイアログに移動し、Text Editor → C / C++ / C# → Formatting → Generalページ、およびすべてのボックスのチェックを外します。自動フォーマット設定がすべてオフになっている場合でも、手動でフォーマットすることができます。

enter image description here

37
Jennifer Leaf

これはあなたが探している答えではないことはわかっていますが、[ツール]> [オプション]> [テキストエディター]> [C/C++]> [書式設定]> [間隔]の下にある場合はvoid f ()書式設定を保存できます関数のパラメーターの間隔オプションをチェックします関数名と引数リストの開き括弧の間にスペースを挿入

8
Marius Bancila

私もこの問題を抱えていたので、フォーマットオプションのすべてのチェックボックスをオフにしても役に立ちませんでした。

これは、Whole Tomato Softwareのプラグイン「Visual Assist X」のオプションが原因であることが判明しました。

私の場合、この問題は「ビジュアルアシストオプション」->「修正」に進み、「貼り付け後のフォーマット」チェックボックスをオフにすることで解決できます。

6
Gerhard Wonner

Resharperはインデント/フォーマット設定をオーバーライドすることもできることを覚えておいてください。これを行うことでオフにできます

ReSharper->オプション->環境->エディター->エディターの動作->閉じ中括弧の自動フォーマット(これをチェック解除)。

enter image description here

3
Varun Sharma

完全にオフにできないのはVS 2013ベータ版のバグです。FuleSnabelが提出した問題を参照してください。 http://connect.Microsoft.com/VisualStudio/feedback/details/797716/turning-off-auto-formatting -for-vs2013-c-only-seems-to-partial-disable-auto-formatting 。考えられる回避策:

  1. 異なるスタイルや奇妙なスタイルのプロジェクトを覗くだけの場合:不要な自動フォーマットが発生した場合、1つの取り消しステップを実行できます。これにより、操作の自動フォーマット部分のみが取り消され、貢献はされません。幸いなことに、これら2つ(またはより多くの自動フォーマット設定ステップ)は、おそらくこの正確な理由で1つのコマンドにグループ化されません。戻って上書きすることができます。それが常に発生する場合、それは迷惑です。スタイルに合わせて動作を構成できますが、異なるコードスタイルのプロジェクトがあると言います。
  2. ツール/設定のインポートとエクスポート...-特定のプロジェクトの特定の設定をエクスポートして、後でインポートできます。これにより、.vssettings XML形式のファイル。特定のファイルタイプのみの場合は、数キロバイトの長さになります。残念ながら、これには手動の手順が必要です。ソリューション構成ファイルまたはプロジェクト構成ファイルからもこれらの設定をオーバーライドできる場合は、それらの一部がそれらの一部になる可能性があります。
  3. 同時に開いているVisual Studioを使用してプロジェクトで実際に並行して作業する場合、この2番目の点に問題があることに注意してください。この場合、最後に閉じられたVSインスタンスが持っていたと思われる設定が最終的に保存されます。

ソリューション用に別の自動フォーマットを保存することは、次のリリースの機能要求になる可能性があります(VS 2013には含まれません)。私が普段目にするのは、タブ/スペースのインデント動作の違いです。これは、プロジェクトスタイルの最も一般的な違いです。インデントは、ほとんどのファイルタイプに対して個別に設定することもできますが、あなたの場合のように、プロジェクトが異なる場合があり、それが面倒になります。

3
Csaba Toth

ブレースの自動補完をオフにするには、次の場所に移動します。

ツール>オプション>テキストエディター>すべての言語>一般>自動ブレース補完

...「自動ブレース補完」のチェックを外します。

1
samraat55

に行く:

ツール->オプション->テキストエディター-> C/C++->書式設定->間隔

次に、記述しているコードタイプに関連するボックスを選択解除または選択します。

1
Eugene