从整个代码库中删除特定过时代码行的方法?

时间:2010-11-30 01:06:07

标签: c++ visual-studio-2010 visual-studio code-formatting

我有一些代码:

#if SILOG
    SiAuto.Main.LogException(ex);
    // some other lines
#endif

从我的整个代码库中移除周围的#if最简单的方法是什么,即最终只有:

SiAuto.Main.LogException(ex);

我正在使用Visual Studio 2010.我会接受我可以测试的第一个答案,看它是否有效。期待您的想法!

1 个答案:

答案 0 :(得分:1)

假设您的代码库都在一个解决方案文件中,并且您没有嵌套的预处理程序指令,您可以使用正则表达式进行查找和替换:

\#if SILOG{(.*\n)@}\#endif

对于替换字符串,请使用:

\1

确保选中“正则表达式”查找选项。

一步一步:

  1. 打开查找和替换对话框(ctrl + H)
  2. 在“查找内容:”下,输入“#if SILOG {(。*。n)@}#endif”,不加引号
  3. 在“替换为:”下,输入不带引号的“\ 1”
  4. 在“查找范围”下,选择“整个解决方案”
  5. 展开“查找选项”
  6. 选中“使用:”,然后从组合框中选择“正则表达式”
  7. 点击“查找下一个”查看是否有效
  8. 如果你很勇敢,请点击“全部替换”
  9. 但是,这不会修复#if / #endif之间代码的缩进。