2013-08-18 6 views
37

VS2013はC++の自動フォーマットを追加しました。自動フォーマットに関する私の個人的意見は、それが最終的に開発者にとって有害だということですが、誰もが同意するわけではありません。どのようなバグを私は完全に自動フォーマットを無効にすることはできないということです。VS2013でC++用の自動書式設定を無効にするにはどうすればよいですか?

void f() 

VS2013は、コード - ないことを

void f() 

でこれを置き換える:私は入力したときにはまだ> Formatting->一般 - 私は、[ツール] - > [テキストEditorの> C/C++の下ですべてのチェックボックスをオフにしていますこの特定のプロジェクトで標準的なことは、私が戻ってスペースを挿入しなければならないことを意味します。私はVSと戦わなければならない他の例があります。私はちょうどそれが出て取得したいので、私は別のコード規格

  • で複数のプロジェクトで作業

    1. ので、私は間隔の設定を変更する必要はありません

      私は、自動書式設定を信じていません私の道の

    私はVSが自分のコードを自動的に変更しないようにしたい。

    PS。私はそれに対してVSをフォーマットすることができますが、手動でそれを呼び出すことができます

  • +2

    私はまた、戻り値の型と関数名の間にスペースを持つ奇妙な標準があるプロジェクトを持っていました。プロジェクト間で脳を切り替えることさえ困難なことがあります。 –

    +1

    @Mehrdad:おかげさまで、私は私の答えを編集しましたので、より明らかです。 AFAIKには最適な解決策はありません。 –

    +0

    これはVS2013のバグで、VS2013 RTMで修正される可能性があります。どのような回答があればそれを答えとしてマークしますか? – FuleSnabel

    答えて

    36

    あなたは→テキストエディタC/C++/C#のフォーマット選択、ツールメニューからオプションダイアログに移動して書式設定自動C/C++/C#のコードをオフにすることができます→一般ページで、すべてのボックスのチェックを外します。すべての自動書式設定がオフになっている場合は、手動で書式設定することができます。

    enter image description here

    +1

    それは質問で言及されました。 –

    +0

    それは私が思ったことですが、VS2013はf()をf()のように自動フォーマットコードを停止するのを拒否します。 – FuleSnabel

    +5

    これはVisual Studio 2013 Previewのバグであることが判明しました。中括弧/かっこの補完が行われると、自動フォーマットが常に実行されています。この動作を設定するための新しいオプションが追加されています。それを指摘してくれてありがとう。 –

    8

    これは正確にあなたが探している答えではありませんが、ツール>オプション>テキストエディタ> C/C++>書式>スペーシングとアンダーファンクションファンクションの間隔オプションのチェックファンクション名と引数リストの開始カッコの間のスペースを挿入します。

    +1

    ありがとうございます。いいえ、私はコードスタイルの設定を変更できることを認識していますが、私の問題は異なる設定で複数のプロジェクトに貢献することです。前後に切り替えるのは苦痛です。私は、自動フォーマットを無効にしたいだけです。結局、私がそれをオフにできないなら、あなたが提案したことをしなければならないかもしれません。 – FuleSnabel

    3

    それは完全にオフにすることはできません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. この2番目の点は、同時に開いているVisual Studiosを使用してプロジェクトで並行作業を行う場合に問題になります。この場合、最後に閉じたVSインスタンスが最後に保存した設定が最後に保存されます。

    解決策のために保存されたさまざまな自動書式設定は、次のリリースの機能要求(確かにVS 2013にしないでください)です。私が普段触れているのは、タブ/スペースインデント動作の違いです。プロジェクトスタイルの中で最も一般的な違いです。インデントは、ほとんどのファイルタイプに対して個別に設定することもできますが、あなたの場合と同様に、プロジェクトが異なる可能性があり、迷惑になります。

    1

    移動先:

    ツール - >オプション - >テキストEditorの> C/C++ - > Formatting->間隔その後

    選択解除したり、あなたが書いているコードタイプに関連するボックスを選択します。

    6

    この問題もありましたが、書式設定オプションのチェックボックスをすべてオフにしても役立ちませんでした。

    それは、これは全体のトマトソフトウェアからプラグイン「のVisualアシストX」のオプションによって引き起こされたことが判明しました。

    私の場合、この問題は、「ビジュアルオプションをアシスト」に行くことによって解決することができ - >」訂正」と 『ペースト後にフォーマット』チェックボックスのチェックを外します。

    3

    resharperはインデント/書式の設定を上書きすることもできます。あなたはこの

    ReSharperの操作を実行しているをオフにすることができます - >オプション - >環境 - >エディタ - >エディタの挙動 - >ブレースを閉じるの自動フォーマット(これを解除確認してください)。

    enter image description here

    0

    に行き、自動ブレースの完了をオフにするには:その後、「自動ブレースのチェックを外し...

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

    完了"。

    関連する問題