Xcode 5有哪些新的文档命令?
Xcode 5的新特性之一就是能够使用特殊的注释语法logging自己的代码。 格式类似于Doxygen,但似乎只支持这些function的一个子集。
哪些命令是支持的,哪些不是?
他们的用法与Doxygen有什么不同?
以下是我在Xcode 5.0.2中find的所有选项的示例
这是用这个代码生成的:
/** First line text. Putting \\n doesn't create a new line.\n One way to create a newline is by making sure nothing is on that line. Not even a single space character! @a Italic text @em with @@a or @@em. @b Bold text with @@b. @p Typewritter font @c with @@p or @@c. Backslashes and must be escaped: C:\\foo. And so do @@ signs: user@@example.com Some more text. @brief brief text @attention attention text @author author text @bug bug text @copyright copyright text @date date text @invariant invariant text @note note text @post post text @pre pre text @remarks remarks text @sa sa text @see see text @since since text @todo todo text @version version text @warning warning text @result result text @return return text @returns returns text @code // code text while (someCondition) { NSLog(@"Hello"); doSomething(); }@endcode Last line text. @param param param text @tparam tparam tparam text */ - (void)myMethod {}
笔记:
- 这些命令必须位于
/** block */
,/*! block */
/*! block */
,或用///
或//!
作为前缀//!
。 - 这些命令使用
@
( headerdoc样式)或\
( doxygen样式)前缀。 (Ie@b
和\b
都做同样的事情。) - 这些命令通常在它们正在描述的项目之前。 (也就是说,如果你想logging一个属性,注释必须放在
@property
文本之前。)它们可以在同一行上跟着/*!<
,/**<
,//!<
,///<
。 - 您可以将文档添加到类,函数,属性和variables 。
- 所有这些命令都以深绿色文本显示,表示它们是有效的命令,除了
@returns
。 - 您可能需要构build您的项目(或重新启动Xcode)才能显示最新的文档更改。
在哪里看到文档:
1.在代码完成期间,您将看到简要的文字:
这将显示简短的文字(没有格式); 如果不存在简要文本,则会显示所有文本到第一个@block的连接; 如果不存在(比如你以@return开始),那么它将连接所有的文本去掉所有的@commands。
2.选项 – 单击标识符名称:
3.在快速帮助检查器面板中
(请参阅第一张截图。)
4.在Doxygen
由于Xcode 5中的命令与Doxygen兼容,您可以下载并使用Doxygen生成文档文件。
其他说明
对于Doxygen的一般性介绍以及如何loggingObjective-C代码, 这个页面看起来是一个很好的资源。
一些支持的命令的描述:
-
@brief
:将在描述字段的开头插入文本,并且是在代码完成期间将出现的唯一文本。
以下不起作用:
-
\n
:不会生成换行符。 创build换行符的一种方法是确保没有任何内容在这一行上。 甚至没有一个单一的空间人物! -
\example
以下是不支持的(他们甚至不显示在深绿色):
- \引用
- \ docbookonly
- \ enddocbookonly
- \ endinternal
- \ endrtfonly
- \ endsecreflist
- \ idlexcept
- \ mscfile
- \ refitem
- \ relatedalso
- \ rtfonly
- \ secreflist
- \短
- \片段
- \目录
- \ vhdlflow
- \〜
- \”
- 。
- ::
- \ |
苹果保留关键字:
苹果使用似乎是保留的关键字,只能在他们的文档中起作用。 虽然它们呈深绿色,但看起来我们不能像苹果那样使用它们。 您可以在AVCaptureOutput.h文件中查看Apple使用情况的示例。
以下是这些关键字的列表:
- @abstract,@availibility,@class,@discussion,@deprecated,@method,@property,@protocol,@related,@ref。
最好的情况是,关键字会在描述字段中产生一个新行(例如@discussion)。 在最坏的情况下,关键字及其后面的任何文本都不会出现在快速帮助中(例如@class)。
Swift 2.0使用以下语法:
/** Squares a number. - parameter parameterName: number The number to square. - returns: The number squared. */
请注意@param
现在是怎样的- parameter
。
您现在也可以在文档中包含项目符号:
/** - square(5) = 25 - square(10) = 100 */
Senseful:
您可能需要在对文档进行最新更改之前构build项目。
有时这对我来说还不够。 closuresXcode并打开项目备份通常可以补救这些情况。
我在.h文件和.m文件中也得到不同的结果。 当文档注释位于头文件中时,我无法获得新行。
Swift 2.0中的大部分格式已经改变(Xcode7ß3,在ß4中也是如此)
而不是:param: thing description of thing
(就像在Swift 1.2中那样)
现在是- parameter thing: description of thing
大多数关键字已被replace为- [keyword]: [description]
而不是:[keyword]: [description]
。 目前,不起作用的关键字列表包括, abstract
, discussion
, brief
, pre
, post
, sa
, see
, availability
, class
, deprecated
, method
, property
, protocol
, related
, ref
。