目前我正在开发基于iOS的图像处理任务。
我正在研究不同的模块。因此,如果我将来需要在模块中添加内容,我想将其标记为待办事项。 是否有其他宏或类似的东西在Xcode中添加待办事项?
目前我正在使用#pragma
,如:
#pragma mark -
#pragma mark To do: Add the Image processing methods.
但它在方法部分中列出如下:
问题是,它列在方法列表下,所以有时我忘了从部分中删除它也很难在整个源代码中找到它。 (搜索#pragma结果以显示整个列表)
我正在使用Xcode版本4.6.2。
答案 0 :(得分:129)
// TODO: the thing todo
你是如何展示待办事项的。
答案 1 :(得分:125)
我明白了。
写评论如:
// TODO: Do something
会做的伎俩。
我有类似的东西:
还有很多选项,例如:
// FIXME: Midhun
// ???: Midhun
// !!!: Midhun
// MARK: Midhun
答案 2 :(得分:41)
使用
//TODO: some thing here
如果你想要做的就是查看下拉列表中的待办事项列表
如果您想要打扰,可以改为使用#warning
标记:
#warning this will create a compiler warning.
当你构建应用程序时,你会得到一个编译器警告(一个黄色的三角形,而不是一个编译器错误),这是一个“在你面前”提醒你需要做的事情。
答案 3 :(得分:35)
使用下面的脚本,您可以看到所有必需的标签,例如警告。
将以下脚本添加到“运行脚本” 脚本:
KEYWORDS="TODO:|FIXME:|DevTeam:|XXX:"
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/ warning: \$1/"
原始答案取自Here
另一个替代方案是Xcode的XToDo插件。
答案 4 :(得分:6)
答案 5 :(得分:6)
我从
开始
// TODO: Implement bubble sort
。
然后我加入了一个大型项目,有时我需要一个todo比WIP提交更长寿,所以为了区分我的同伴和我的同事,我用我的名字来区分我的待办事项:
// TODO: SM: Implement bubble sort
有时我想要更多的可见性,所以我开始在某些地方使用pragma警告。
#warning Implement bubble sort
有一天,我决定通过向我的cflags添加-Werror
来打开硬模式。不幸的是,这使得pragma警告无用,因为它们阻止了编译。所以我回到使用// TODO:
,直到杰夫纳多告诉我,我可以把
-Wno-error=#warnings
在我的cflags中,以免将pragma警告视为错误。所以现在#warning
和-Werror
可以相互生活。
答案 6 :(得分:3)
我倾向于写完// TODO:Blah blah blah blah
然后我只做一个COMMAND-SHIFT-F并寻找“// TODO”。
使用文件大纲下拉列表只会显示当前文件的TODO,但我倾向于查看项目的TODO状态。
粗略的解决方案,但它确实有效。
答案 7 :(得分:1)
我将识别出的标记分为警告和错误以供自己使用,以为我可以在这里共享它:
KEYWORDS="STUB:|WARNING:|TODO:|FIXME:|DevTeam:|\?\?\?:"
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: warning: \$1/"
KEYWORDS="ERROR:|XXX:|\!\!\!:"
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: error: \$1/"
ERROR_OUTPUT=`find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: error: \$1/"`
exit ${#ERROR_OUTPUT}
答案 8 :(得分:0)
另一个简单的方法,如果你不想让方法列表栏混乱,在框外,是在//Todo:
之类的评论中使用约定,当你想要集中处理它们时,只需选择查找导航器,匹配大小写并搜索//Todo:
我更喜欢这个,因为我不喜欢看起来像spagetti-code的方法。是的,我经常有很多Todo:的;)
答案 9 :(得分:0)
#error
和
#warning
也用于C编程