Visual Studio 快速替换宏及其定义

Visual Studio Quick Replace Macro with its Definition

本文关键字:定义 替换 Studio Visual      更新时间:2023-10-16

我有一个C++文件,其中充斥着宏,以至于无法读取,并且想要一种方法将这些宏替换为它们的定义,以便我可以实际看到发生了什么。

到目前为止,我只是右键单击它们,在上下文菜单中选择"转到定义",复制粘贴它们并手动填写它们。我希望 VS 提供一种方法来用其定义替换宏并自动填写它并删除用于转义每个换行符的斜杠?

我尝试使用预编译器输出,但至少有一些宏我想保留,它会删除所有这些宏。它还完全将格式抛出窗口,您无法知道每行代码来自哪个文件。

因此,假设在我的 table.h 文件中我有:

#define TABLE_SIZE 100

然后在我的表中.cpp我有:

int table1[TABLE_SIZE];
int table2[TABLE_SIZE]; 

我希望能够右键单击并自动将其替换为:

int table1[100];
int table2[100]; 

自动填写传入的任何值。

这似乎是很容易实现的事情,但很难在谷歌上搜索,因为宏通常会取代文本,因此"替换宏"或其他变体不会带来好的结果。

您正在寻找的功能在此表单中不存在。但是,如果您仍然想知道预处理器将代码转换为什么,则应查看输出。

对于MSC(Visual Studio 中的编译器),您需要做的就是传递/P 选项。(我不记得它实际上是一个花哨的选项是 VS,还是您需要使用其他参数字段来执行此操作。

但是一旦启用,您应该在中间文件夹中找到您的文件预处理。

功能文档:https://msdn.microsoft.com/en-us/library/8z9z0bx6.aspx