Xcode将哪些来源注释识别为标签?

时间:2011-09-29 16:29:44

标签: xcode comments

这主要是出于好奇心。我已经知道Xcode能够以// TODO: Something I don't feel like doing now的形式识别评论。将该行添加到文件源将导致该TODO注释显示在Xcode的导航栏中:

enter image description here

我最近还发现,// MARK: Something形式的注释可以达到与#pragma mark相同的效果。所以我可以写一个看似如下的评论:

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

Xcode会像这样渲染出来:

enter image description here

这让我想知道:Xcode可以理解其他类型的评论以改进项目导航吗?

3 个答案:

答案 0 :(得分:34)

还有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也支持这些标记。

答案 1 :(得分:22)

看起来像

// 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

答案 2 :(得分:0)

您可以使用//标记:-按照Apple示例在下面使用标签

// MARK: UICollectionViewDataSourcePrefetching

    /// - Tag: Prefetching