Xcode将哪些源代码标识为标签?

这主要是出于好奇的缘故。 我知道有一段时间,Xcode能够以// TODO: Something I don't feel like doing now的forms识别注释// TODO: Something I don't feel like doing now 。 将该行添加到文件的源代码将导致该TODO注释显示在Xcode的导航栏中:

在这里输入图像说明

我最近也发现了这样一个forms的注释// MARK: Something可以达到与#pragma mark相同的效果。 所以我可以写一个看起来像这样的评论:

 // MARK: - // MARK: Future Improvements: // TODO: Make something better // TODO: Fix some bug 

而Xcode会像这样渲染出来:

在这里输入图像说明

这导致我想知道:Xcode可以理解的其他types的评论,以改善项目导航?

还有MARKFIXME!!!??? ,例如

 // FIXME: this bug needs to be fixed 

 // ???: WTF ??? 

您可以在/Applications/Xcode.app/Contents/OtherFrameworks/XcodeEdit.framework/Versions/A/Resources/BaseSupport.xclangspec (或/Developer/Library/PrivateFrameworks/XcodeEdit.framework/Resources/BaseSupport.xclangspec查看这些内容的定义旧版本的Xcode)。 据推测,你也可以在这里添加自己的标签,如果你想,但我没有实际尝试过。 以下是BaseSupport.xclangspec的相关部分:

 { Identifier = "xcode.lang.comment.mark"; Syntax = { StartChars = "MTF!?"; Match = ( "^MARK:[ \t]+\(.*\)$", "^\(TODO:[ \t]+.*\)$", // include "TODO: " in the markers list "^\(FIXME:[ \t]+.*\)$", // include "FIXME: " in the markers list "^\(!!!:.*\)$", // include "!!!:" in the markers list "^\(\\?\\?\\?:.*\)$" // include "???:" in the markers list ); // This is the order of captures. All of the match strings above need the same order. CaptureTypes = ( "xcode.syntax.mark" ); Type = "xcode.syntax.comment"; }; }, 

BBEdit文本编辑器及其免费软件兄弟TextWrangler也支持这些标签。

好像

 // MARK: // TODO: // FIXME: // ???: // !!!: 

全部被翻译成#pramga-like标记。

看来,他们代表

 // Mark, as in pragma // To Do note // Known bug marker // Serious question about form, content, or function // Serious concern about form, content, or function