【发布时间】:2016-12-01 22:22:42
【问题描述】:
有没有办法改变预处理条件的颜色,比如,
#if
#ifdef
#ifndef
#endif
我确实在使用大量预处理器条件的大型 C 库上工作,正如您在下面的示例中所见,这确实限制了代码的可读性,因为 C 程序员通常不会缩进这些条件。
使用 Keywork Highlighting 将这些行变灰将有助于避免将这些未缩进的行混淆为长 if 语句的结尾等。
示例代码,
...
if( ... )
{
for( uint8_t i = 0, k = 0; i < FOO; i += 16, k++ )
{
for( uint8_t j = 0; j < 16; j++ )
{
#if defined( BAZ ) || defined( BAR )
if( ... )
#else
if( ... )
#endif
{
if( ... )
{
continue;
}
#if defined( BAZ_ ) || defined( BAR_ ) || defined( FOO_ )
if( ... )
{
if( ... )
{
continue;
}
}
#endif
if( ... )
{
continue;
}
if( ... )
{
foo++;
continue;
}
}
}
}
}
...
注意:我已经为 Visual Studio 提出了问题,但是,我将使用 Atmel Studio 中的解决方案,这基本上是一个相同软件的重新标记版本。过去我已经成功地将大部分 VS 附加组件安装到 Atmel Studio,但是如果你的解决方案要包含它,我还没有尝试过 R#。
更新:
在发布问题后,我实际上注意到 Stackoverflow 上的语法高亮显示做得非常出色,完全符合我的想法。 # 条件显示为灰色,其余代码读起来很漂亮。我希望能够在 VS/AS 上做同样的事情。
【问题讨论】:
标签: visual-studio c-preprocessor syntax-highlighting atmelstudio