【发布时间】:2015-04-19 08:21:57
【问题描述】:
我正在编写一个 C++ 库,我刚刚记得我需要导出每个类。
以下代码:
class MyClass
应该变成:
class MY_EXPORT MyClass
我有几个类需要这种改变 - 有没有办法使用 Qt Creator 来做到这一点?
【问题讨论】:
标签: c++ regex replace qt-creator
我正在编写一个 C++ 库,我刚刚记得我需要导出每个类。
以下代码:
class MyClass
应该变成:
class MY_EXPORT MyClass
我有几个类需要这种改变 - 有没有办法使用 Qt Creator 来做到这一点?
【问题讨论】:
标签: c++ regex replace qt-creator
您可以使用Advanced Search 功能实现此目的:
Edit > Find/Replace > Advanced Find > Open Advanced Find... 或 CTRL + SHIFT + F
Search Results 窗口中,选择适当的Scope(在您的情况下Current Project 可能就足够了)。检查Use regular expressions。
在Search for 字段中,输入:
^class (.*[^;])$
这会搜索从行首开始且不以分号结尾的所有类声明(排除前向声明)。
在File pattern 字段中,输入:
*.h
这将确保搜索只发生在头文件中。
单击Search & Replace 按钮。您将看到一个搜索结果列表和消息“此更改无法撤消。” - 如果您还没有提交工作,现在是提交工作的好时机。 p>
展开每个搜索结果以检查匹配是否正确。满意后,在Replace with 字段中输入以下内容:
class MY_EXPORT \1
这会在每个类的名称前添加MY_EXPORT,使用numbered backreference 插入在第4 步中用group 捕获的类名称。
点击Replace按钮,您就完成了。
【讨论】: