【问题标题】:Find and replace across several files using regular expressions in Qt Creator在 Qt Creator 中使用正则表达式查找和替换多个文件
【发布时间】:2015-04-19 08:21:57
【问题描述】:

我正在编写一个 C++ 库,我刚刚记得我需要导出每个类。

以下代码:

class MyClass

应该变成:

class MY_EXPORT MyClass

我有几个类需要这种改变 - 有没有办法使用 Qt Creator 来做到这一点?

【问题讨论】:

    标签: c++ regex replace qt-creator


    【解决方案1】:

    您可以使用Advanced Search 功能实现此目的:

    1. Edit > Find/Replace > Advanced Find > Open Advanced Find...CTRL + SHIFT + F
    2. 在打开的Search Results 窗口中,选择适当的Scope(在您的情况下Current Project 可能就足够了)。
    3. 检查Use regular expressions

    4. Search for 字段中,输入:

      ^class (.*[^;])$

      这会搜索从行首开始且不以分号结尾的所有类声明(排除前向声明)。

    5. File pattern 字段中,输入:

      *.h

      这将确保搜索只发生在头文件中。

    6. 单击Search & Replace 按钮。您将看到一个搜索结果列表和消息“此更改无法撤消。” - 如果您还没有提交工作,现在是提交工作的好时机。 p>

    7. 展开每个搜索结果以检查匹配是否正确。满意后,在Replace with 字段中输入以下内容:

      class MY_EXPORT \1

      这会在每个类的名称前添加MY_EXPORT,使用numbered backreference 插入在第4 步中用group 捕获的类名称。

    8. 点击Replace按钮,您就完成了。

    【讨论】:

      猜你喜欢
      • 2018-09-20
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 2017-07-24
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多