2016-11-28 2 views
-1

マクロが定義されていない場合、また、#ifdef #elseの場合はemacsがコードの色をグレーに変更したい場合は、適切なインデントも必要です。emacs、#ifdefマクロの色の変更、インデント

#define MY_MACRO 
#ifdef MY_MACRO 
int foo = 0;//proper indent, normal color 
#else 
int bar = 0;//proper indent, and gray color 

答えて

2

Emacsはhide-ifdef-modeです。

hide-ifdef-modeでは、C プリプロセッサが排除する#ifdef構造内のコードが表示されないことがあります。

M-x hide-ifdef-modeで有効にすることができます。基本的な使い方については、関数hide-ifdefs(デフォルトショートカットC-c @ h)を使用してください。 `

#define MY_MACRO 
#ifdef MY_MACRO 
int foo = 0;//proper indent, normal color 
#else... 
#endif 

機能show-ifdefs(デフォルトのショートカットC-c @ s)を使用し、効果を元に戻す:ルデ@

#define MY_MACRO 
#ifdef MY_MACRO 
int foo = 0;//proper indent, normal color 
#else 
int bar = 0;//proper indent, and gray color 
#endif 
+0

おかげで、これは私MACROが定義されているかどうかを伝えるためのソリューションですが、ではありません欲しいです。私は色の変更がより良い選択になると思います。なぜなら、 'show-ifdefs' cmd(便宜的ではありますが)がなければ、不公平になっているものを簡単に見ることができるからです。スレッドを開けて、色の変更を待ちます。 – francis

関連する問題