这主要是出于好奇心。我已经知道Xcode能够以// TODO: Something I don't feel like doing now
的形式识别评论。将该行添加到文件源将导致该TODO注释显示在Xcode的导航栏中:
我最近还发现,// MARK: Something
形式的注释可以达到与#pragma mark
相同的效果。所以我可以写一个看似如下的评论:
// MARK: -
// MARK: Future Improvements:
// TODO: Make something better
// TODO: Fix some bug
Xcode会像这样渲染出来:
这让我想知道:Xcode可以理解其他类型的评论以改进项目导航吗?
答案 0 :(得分:34)
还有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也支持这些标记。
答案 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