【问题标题】:Method to remove specific obsolete lines of code from an entire codebase?从整个代码库中删除特定过时代码行的方法?
【发布时间】:2011-05-17 14:48:04
【问题描述】:

我有一些代码:

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

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

SiAuto.Main.LogException(ex);

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

【问题讨论】:

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


    【解决方案1】:

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

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

    对于替换字符串,使用这个:

    \1
    

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

    一步一步:

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

    但是,这不会修复 #if / #endif 之间的代码缩进。

    【讨论】:

    • 太棒了——你是最棒的!使用“Edit..Advanced..Format Document”可以在 Visual Studio 2010 中轻松修复缩进。
    猜你喜欢
    • 1970-01-01
    • 2019-09-28
    • 2019-07-20
    • 2021-03-24
    • 1970-01-01
    • 2016-08-02
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    相关资源
    最近更新 更多