我已經開始在XCode中使用FIXME
,TODO
,???
和!!!
標籤,但是我發現它在一個函數內不識別標籤時感到很痛苦。標籤只能在給定功能之外識別。Xcode使用FIXME,TODO,???,?
我該如何在一個函數中識別這些標籤(因爲這是錯誤所在)?
我已經開始在XCode中使用FIXME
,TODO
,???
和!!!
標籤,但是我發現它在一個函數內不識別標籤時感到很痛苦。標籤只能在給定功能之外識別。Xcode使用FIXME,TODO,???,?
我該如何在一個函數中識別這些標籤(因爲這是錯誤所在)?
編輯的2016年2月2日
的Xcode現在支持// MARK:,// TODO://和FIXME:地標註釋你的代碼,並列出它們在跳吧。
要找到(你指定你自己,實際上任何標記)的特殊標記,你可以使用搜索導航,輸入以下字符串,然後選擇「在項目,正則表達式匹配」 ...「,忽略大小寫「:
(//FIXME|//!!!|//\?\?\?|//TODO)
這將在您的項目中搜索所有這些特殊標記。您甚至可以添加您想要的任何標記,例如「//審覈:請查看以下代碼」。那麼這將是以下搜索字符串:
(//FIXME|//!!!|//\?\?\?|//TODO|//REVIEW)
我在工作區中具有檢索瀏覽器始終打開,裝滿這個字符串創建一個標籤。不幸的是,XCode有時會將這個字符串從搜索框中刪除,因此您必須在需要時複製&粘貼。
一種解決方法是使用一個構建腳本這標誌着作爲那些警告:
KEYWORDS="TODO|FIXME|\?\?\?:|\!\!\!:"
find "${SRCROOT}" \(-name "*.h" -or -name "*.m" \) -print0 | \
xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | \
perl -p -e "s/($KEYWORDS)/ warning: \$1/"
找到腳本[here](http://www.benzado.com/blog/post/329/make-xcode-nag-you-about-unfinished-todos)by Benjamin Ragheb – KDaker 2011-08-27 14:58:41
如果你的代碼保存在一個文件路徑中,該文件路徑中包含空格,例如「/ Home/John/iPhone Apps/Code」。簡單的修復,在第二行,把引號$ {SRCROOT} – john 2011-10-21 03:20:24
我把它放在Xcode的運行腳本中,但不知何故它沒有收到我的任何TODO。任何想法爲什麼 – 2012-01-16 07:24:33
在Xcode 4.1(不知道,如果這個工程在以前的版本)我寫
#warning TODO: fix this later...
得到一個編譯警告或
#error FIXME: fix now!
得到一個編譯錯誤。
我還將這些添加到代碼片段庫中,以便添加待辦事項非常容易。
哦,你如何將它添加到片段庫? – 2012-01-16 07:14:18
不幸的是,如果您在構建設置中將「顯示警告設置爲錯誤」,那麼這不算好 - 因爲一切都變成了錯誤! – 2012-04-21 13:10:56
@RaffiKhatchadourian - 要添加一個片段,只需拖動你的源代碼。 http://stackoverflow.com/questions/6784627/how-to-add-custom-code-snippets-to-xcode-4 – 2013-01-03 04:17:29
FIXME:,TODO:,???:和!!!:在4.3.3的內部和外部都起作用。
您可以在雙斜線之前或之後有任意數量的空白,但必須使用大寫字母並使用冒號後面的標籤。
只是爲了說清楚 - 所有這些工作:
// FIXME: This works.
//TODO: This works.
// !!!: Working.
// // //???: Works as well.
剛擡起頭,但我已經注意到了TODO:的沒有任何類型的塊內工作。只要將它移到您的區塊上方或下方即可。
這個Xcode插件怎麼樣? - >https://github.com/trawor/XToDo
中工作它沒關係,它在XCode 5.0.2中幾次崩潰。如果您還沒有XCode 5,則必須在XCode 5中手動創建插件文件夾。這是非常基本的,它創建了4個默認標記的列表:TODO,FIXME,??? &!!!並將任何標記的內容放到單獨的XCode窗口的下拉列表中:但是,我希望能夠創建自己的標記,例如「BOOKMARK:」和「WATCH:」,並讓它們也顯示出來 - 沒有簡單的方法來做到這一點與插件。 – OverToasty 2014-01-18 20:45:58
@OverToasty檢查新的提交,叉子做出一些很大的改變 – 2014-02-12 08:00:36
xCode 6 beta 4應支持MARK,TODO和FIXME地標。
Xcode現在支持// MARK:,// TODO:和// FIXME地標來標註您的代碼,並在跳轉欄中列出它們。 (14768427)!
鏈接已損壞。 – 2015-12-11 13:55:08
也許是因爲我仍然在Xcode 3.2.6上,但是這些功能在功能列表中顯示得很好......您是否在尋找某種縮進來顯示功能中的成員身份? – Richard 2011-05-05 00:25:34
你能指出你正在使用什麼版本的Xcode,並且(如果不是Obj-C)你正在寫什麼語言? – 2011-05-05 01:22:38
如果您還未申請此功能,我建議您提交一份錯誤報告:http://bugreport.apple.com – 2011-05-05 08:44:44