2014-02-11 68 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