我已经开始在XCode中使用FIXME,TODO,???和!!!标签,但是我发现当标签在一个函数中时,它不能识别它们,这是很痛苦的。标签只能在给定函数外部识别。
如何在函数中识别这些标记(因为这是bug所在的位置)?
发布于 2012-07-06 03:44:42
编辑的 2016-02-02
Xcode现在支持//MARK:,//TODO:和//FIXME: landmarks来注释你的代码,并在跳转条中列出它们。
要查找这些特殊标记(实际上是您自己指定的任何标记),您可以使用搜索导航器,输入以下字符串,然后选择“在项目中,匹配正则表达式"...",忽略大小写”:
(//FIXME|//!!!|//\?\?\?|//TODO)这将在您的项目中搜索所有这些特殊标记。你甚至可以添加任何你想要的标记,例如"// review :请检查下面的代码“。这将是以下搜索字符串:
(//FIXME|//!!!|//\?\?\?|//TODO|//REVIEW)我在我的工作区中创建了一个选项卡,其中的搜索导航器始终处于打开状态,其中填充了此字符串。不幸的是,XCode有时会从搜索框中删除此字符串,因此您必须随时准备好复制和粘贴它。
发布于 2011-09-04 00:18:45
在Xcode4.1(不知道这在以前的版本中是否有效)中,我写道
#warning TODO: fix this later...若要获得编译警告,或者
#error FIXME: fix now!以获取编译错误。
我还将这些代码添加到代码片段库中,以使添加todo变得非常容易。
发布于 2011-06-05 01:27:22
一种解决方法是使用将这些标记为警告的构建脚本:
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。
https://stackoverflow.com/questions/5891193
复制相似问题