突出显示Xcode中的警告

在Swift Development中,我们通常使用TODO注释作为将来的重构的占位符-Xcode将在其文件结构下拉列表中方便地显示对应的部分,如下所示:

但是,Xcode无法提醒我们类似这种情况的警告或错误消息。 以前,编译器可以突出显示Objective-C环境中的#warning#error注释,以便开发人员注意。 Xcode是否有办法在Swift中获得与Objective-C类似的效果?

答案是肯定的。 我们可以在构建阶段中添加一个简单的运行脚本 ,如下所示:

  TAGS =“ TODO:| FIXME:| WARNING:” 
ERRORTAG =“错误:”
找到“ $ {SRCROOT}” \(-name“ * .h” -or -name“ * .m” -or -name“ * .swift” \)-print0 | xargs -0 egrep --with-filename --line-number --only-matching“($ TAGS)。* \ $ |($ ERRORTAG)。* \ $” | perl -p -e“ s /($ TAGS)/警告:\ $ 1 /” | perl -p -e“ s /($ ERRORTAG)/错误:\ $ 1 /”

使用此脚本,在重新构建项目后,所有以“ TODO:”,“ FIXME:”或“ WARNING:”作为前缀的注释都将视为编译器的警告,并且将“ ERROR:”的注释视为作为错误。

您也可以自定义此脚本,以使各种消息显示为编译器警告或错误。 在那种情况下,开发人员将不会忘记任何极端情况,并且运行脚本将确保这些消息将在一天内得到修复。

PS Hector是第一个在线共享此功能的人,他的文章在这里。