2014-02-11 114 views
1

例如,如果我有#define example(__thing__) [__thing__ doSomeStuff]将Xcode中的已定义代码替换为实际代码

在后面的代码中,我编写了example(a)编译器将它视为[a doSomeStuff]

但是,有没有一种方法可以将它替换为源代码以进行调试?我希望example(a)的每一次出现都被替换为[a doSomeStuff]。由于实际定义的东西要长得多,如果我能看到实际的代码是什么,调试起来会容易得多。

回答

0

尝试,CMD + F,然后会有一个小框,说'替换',然后找到example(a)并替换为[a doSomeStuff]。如果您然后想撤消,只需扭转字段。

UPDATE:如果您正在寻找批量查找和替换,可以考虑使用通配符:Find & Replace with a wildcard in Xcode 4

+0

实际定义要复杂得多,所以一个简单的替换就行不通了。 – codenamepenryn

+0

这只适用于他用'a'调用'example'的情况。如果代码中的其他地方发送了一个不同的变量(比如'example(b)'),他还需要为'example(b)'做一个查找替换。等他发送了多少变量。 – GeneralMike

+0

然后尝试评论定义,然后写你想要的。然后通过评论另一组撤消。如果这仍然不起作用,那么尝试创建一个Xcode模板 – virindh

6

在Xcode中,转至产品菜单 - >执行操作 - >预处理 “”。

这将为您提供源的预处理输出。然后你可以看到你的代码在编译时的外观。这对调试无效,但您可以随时复制相应的部分并将其粘贴到实际代码中以用于调试目的。否则,它至少可以让你看到预处理的代码。我认为这是最接近你要达到你想要的。

+0

哦,所以没有办法只预处理代码的某个部分? – codenamepenryn

+3

哇,这是一个很酷的提示! Upvoted。 – Macondo2Seattle

+0

@codenamepenryn我不知道预处理一段代码的方式,不。这将预处理整个文件,包括导入的头文件。所以预处理文件通常很长。但是你的代码通常应该是最底层的。 – Gavin