我开始在XCode中使用 FIXME
、TODO
、???
和 !!!
标签,但发现在函数内部使用时无法被识别,只有在函数外部才能被识别。
我该如何让这些标签在函数内部被识别(因为这里才是出现bug的地方)?
我开始在XCode中使用 FIXME
、TODO
、???
和 !!!
标签,但发现在函数内部使用时无法被识别,只有在函数外部才能被识别。
我该如何让这些标签在函数内部被识别(因为这里才是出现bug的地方)?
#warning TODO: fix this later...
获取编译警告或
#error FIXME: fix now!
获取编译错误。
我还将它们添加到代码片段库中,以使添加待办事项变得非常容易。
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/"
感谢Benjamin Ragheb提供的帮助。
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -print0 | \
- art-divin编辑于 2016-02-02
Xcode现在支持使用//MARK:、//TODO:和//FIXME:标记来注释您的代码,并将它们列在跳转栏中。
要查找这些特殊标记(以及实际上您指定的任何标记),您可以使用搜索导航器,输入以下字符串,然后选择“在项目中,匹配正则表达式“...”,忽略大小写”:
(//FIXME|//!!!|//\?\?\?|//TODO)
这将会在你的项目中搜索所有这些特殊标记。你可以添加任何你想要的标记,例如"//REVIEW: 请审核以下代码"。那么这将成为以下搜索字符串:
(//FIXME|//!!!|//\?\?\?|//TODO|//REVIEW)
我在我的工作区创建了一个选项卡,其中搜索导航器始终打开,并填充着这个字符串。不幸的是,XCode有时会从搜索框中删除此字符串,因此您需要在需要时随时准备好复制并粘贴它。
FIXME:, TODO:, ???: 和 !!!: 在4.3.3中在函数内外都可用。
您可以在双斜杠前后使用任意数量的空格,但必须使用大写,并在标签后加上冒号。
只是为了明确 - 所有这些都可以使用:
// FIXME: This works.
//TODO: This works.
// !!!: Working.
// // //???: Works as well.
xCode 6 beta 4应该支持MARK、TODO和FIXME标记。
Xcode现在支持//MARK:、//TODO:和//FIXME:标记来注释你的代码,并将它们列在跳转栏中。(14768427)!
提醒一下,我注意到TODO:在任何块中都不起作用。请将其移到块的上方或下方。
//FIXME:
的代码,您可以采取以下替代方法。#if DEBUG
#define FIXME 0;
#endif
这个定义允许你的应用程序进行调试构建,但防止其被归档以供发布。
现在你可以在任何你原本会使用注释的地方使用 FIXME
。
例如:NSNumber *magicNumber = 7; FIXME
TAGS="WARNING:|TODO:"
echo "searching ${SRCROOT} for ${TAGS}"
find "${SRCROOT}" \( -name "*.swift" \) -not -path "${SRCROOT}/Carthage/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($TAGS).*\$" | perl -p -e "s/($TAGS)/ warning: \$1/"
在 xCode 9.3 上使用 Swift 4 很好用