我希望我的emacs如果宏未定义,并且在#ifdef #else的情况下,也需要一个适当的缩进。
#define MY_MACRO
#ifdef MY_MACRO
int foo = 0;//proper indent, normal color
#else
int bar = 0;//proper indent, and gray color
emacs具有hide-ifdef-mode
。
在hide-ifdef模式中,#ifdef构造中的代码C 预处理器将消除可能是从视图中隐藏的。
可以通过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