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的评论,以改善项目导航?
还有MARK
, FIXME
, !!!
和???
,例如
// 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