CLion教程-提取宏定义
提取宏定义的重构方法使用 #define
指令将所选的一组标记定义为宏,并在代码中使用宏调用来替换这组标记;宏定义可以位于当前文件中,也可以移动到相关的头文件中。
示例
Before | After |
---|---|
int main() { int maxValue = 65536 * 65536; return 0; } | #define MAX 65536 int main() { int maxValue = MAX * MAX; return 0; } |
在原地提取宏定义
在编辑器中,选择要用宏调用替换的表达式。您可以自己进行选择,也可以使用智能表达式选择功能来让 CLion 帮助您。因此,请执行以下操作之一:
- 高亮显示表达式。然后从主菜单或上下文菜单中选择“Refactor | Extract | Extract Define”。或者,按下 CtrlAlt0D。
- 将光标放在表达式之前或之内,在主菜单或上下文菜单中选择“Refactor | Extract | Extract Define”,或按下 CtrlAlt0D。在 Expression 弹出菜单中,通过单击所需的表达式来选择表达式。或者,使用上箭头和下箭头键导航到感兴趣的表达式,然后按 Enter 键选择它。
Expression 弹出菜单包含适用于编辑器中当前光标位置的所有适当表达式。
在弹出窗口中导航到建议的表达式时,编辑器中的代码高亮显示会相应地更改。
如果找到了选定表达式的多个出现,则在“Multiple occurrences found”弹出菜单中选择 Replace this occurrence only 或 Replace all occurrences 中的一个。
- 要选择所需选项,只需单击它。或者,使用上箭头和下箭头键导航到感兴趣的选项,然后按 Enter 键选择它。
- 如果要将宏定义移动到头文件中,请选择“Put to header”复选框。
指定宏的名称。请执行以下操作之一:
- 从列表中选择一个建议的名称。要执行此操作,请双击合适的名称。或者,使用上箭头和下箭头键导航到感兴趣的名称,然后按 Enter 键选择它。
- 通过输入来编辑名称。名称显示在带有红色边框的框中,并且随着您的输入而更改。完成后,按 Enter 键。