通过ifdef关注启用代码来替换文本

时间:2015-08-06 09:29:03

标签: visual-studio-2010 visual-studio visual-studio-2012 visual-c++

是否存在以任何方式仅替换由Visual Studio中的#if / #ifdef等C预处理器宏启用的文本?

1 个答案:

答案 0 :(得分:1)

如果你问这样的能力是否内置,那么答案就是“不”。

如果你问是否可以创建这样做,那么根据你愿意工作的难度,答案是“也许”。显然编辑器知道源文件中预处理器启用了哪些代码,因为扫描器在其上运行,使用当前项目设置来找出定义了哪些预处理器符号。着色器使用该信息为源文件着色。但是,标准搜索和替换功能会忽略该信息(以及其他不是基本文本的信息)。如果您想要足够严重,可以使用Visual Studio SDK编写实现自己的搜索和替换功能的扩展,并让它使用扫描仪输出(或者可能是由着色器创建的文本装饰集合)来指导源文件的哪些部分进行搜索和替换。这将是很多工作,可能比任何手动搜索和替换过程要多得多。另一方面,也许您可​​以在VS Gallery中销售生成的扩展程序。

执行所需操作的最简单方法是执行搜索并使用现有工具替换,一次搜索一次(F3是您的朋友),并且只有在文本“启用”时才进行更改颜色。