19

残りのコードのようにプリプロセッサディレクティブをインデントしたい場合があります(#ifの字下げはifなど)。それはseems legal、それはcommon sense that it's sometimes a good thingですが、ビジュアルでは簡単にはなりません。Visual C++ 2010のプリプロセッサディレクティブインデント

Visual C++ 2010エディターが無意識に#を押すたびにコードを左に押さないようにする方法はありますか?そして、自動インデント(CTRL + K、CTRL + F)を使ってプリプロセッサ指示文インデントを中断しないようにするには?あるいは、他のすべてのようなプリプロセッサ指令を扱うことがさらに良いでしょうか?テキストには、Visual Studio 2010個のオプション([ツール] - > [オプション])

ゴーで

#ifdef FIRST 
# include "first.h" 
#else 
# include "second.h" 
#endif 
+2

この理由から、私は重いプリプロセッサコードを編集するために外部エディタを使い始めました。 – ybungalobill

答えて

13

私のアプローチは、のように、最初の列に#を維持し、それに続く単語をインデントすることですエディタ - > C/C++ - >タブ

インデントの下ではスマートの代わりにブロックを選択します。

これにより、#キーで行の先頭に移動するのを防ぐことができますが、Ctrl + K Ctrl + Fを使用してもスマートな書式設定が適用され、タブが削除されます。

編集:これにより、他の場所での自動インデント/アンインデントも無効になります。注意してください。

+2

複数の行を選択して(Shift +)タブをタップすることはできません。 – ybungalobill

+1

+1良いプリプロセッサスタイル。 Boostはこのスタイルを使用しており、分岐インデントを維持しながらどのラインがプリプロセッサディレクティブであるかがはっきりしています。 – Pyrce

+0

+1これは実際によく見られる回避策です。しかし、私はまだ適切なインデントのサポートが私をより幸せにするように感じる。だから私は待って、私が他の答えを得るかどうかを見ます。 –

2

回避策:あなたが最初に自動書式設定を元に戻すには、#とVisual Studioがあなたのインデントを削除するプレスCTRL +Zを入力します。

8

visualstudio(vs2015でチェックイン)は、プリプロセッサディレクティブのオプション>テキストエディタ> c/C++>フォーマット>インデント>位置を取得しました。 「インデントされたままにする」を選択します。サンプルはあなたが望むものとまったく同じに見えませんが、動作します。試してみてください。

+2

VS2015にこの設定が追加されたようです。 –

+0

これは明らかに受け入れられた答えが今あるべきものです。 :) [Ctrl] + [K] [Ctrl] + [F]がこれを使用するといいでしょう。 :( – GazB

関連する問題