Xcode 5中提供了哪些新的文档命令?[关闭]


186

一个Xcode中5的新功能是一种特殊的注释语法来记录自己的代码的能力。格式类似于doxygen,但似乎仅支持这些功能的子集。

支持哪些命令,不支持哪些命令?
它们的用法是否与doxygen不同?

Answers:


419

这是我从Xcode 5.0.2开始发现的所有选项的示例

在此处输入图片说明

这是用以下代码生成的:

/** 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 */或作为前缀/////!
  • 这些命令使用@headerdoc样式)或\doxygen样式)前缀。(即@b\b两者都做同样的事情。)
  • 这些命令通常在它们描述的项目之前。(也就是说,如果你想记录的属性,注释必须出现在之前@property的文本。)他们可以来之后,在同一行,用/*!</**<//!<///<
  • 您可以将文档添加到类,函数,属性变量
  • 所有这些命令都以深绿色的文字显示,以表示它们是有效命令,但除外@returns
  • 在对文档进行最新更改之前,您可能需要构建项目(或重新启动Xcode)。

在哪里查看文档:

1.在代码完成期间,您将看到简短的文本:

在此处输入图片说明

这将显示简短文本(不带格式);如果没有简短的文本,它将显示直到第一个@block的所有文本的串联;如果不存在(例如,您以@return开头),那么它将合并所有剥离所有@commands的文本。

2.右键单击标识符名称:

在此处输入图片说明

3.在“快速帮助检查器”面板中

(请参阅第一个屏幕截图。)

4.在氧气中

由于Xcode 5中的命令与Doxygen兼容,因此您可以下载并使用Doxygen生成文档文件。

其他注意事项

有关Doxygen的一般介绍以及如何记录Objective-C代码,此页面似乎是不错的资源。

一些受支持的命令的说明:

  • @brief:将在说明字段的开头插入文本,并且是代码完成过程中唯一出现的文本。

以下无效:

  • \n:不会产生换行符。创建换行符的一种方法是确保该行没有任何内容。甚至没有一个空格字符!
  • \example

不支持以下功能(它们甚至不会显示为深绿色):

  • \引用
  • \ docbookonly
  • \ enddocbookonly
  • \内部
  • \ endrtfonly
  • \ endsecreflist
  • \ idlexcept
  • \ mscfile
  • \ refitem
  • \相关也
  • \ rtfonly
  • \ secreflist
  • \短
  • \片段
  • \目录
  • \ vhdlflow
  • \〜
  • \“
  • ::
  • \ |

苹果保留关键字:

Apple使用似乎仅在其文档中有效的保留关键字。尽管它们显示为深绿色,但看起来我们无法像Apple那样使用它们。您可以在诸如AVCaptureOutput.h之类的文件中查看Apple用法的示例。

以下是其中一些关键字的列表:

  • @ abstract,@ availability,@ class,@ discussion,@ deprecated,@ method,@ property,@ protocol,@ related,@ ref。

充其量,关键字将在“描述”字段中引起新的一行(例如,@ discussion)。最糟糕的是,关键字及其后的任何文本都不会出现在快速帮助中(例如,@ class)。


4
感谢您的描述。希望苹果将其复制到Xcode手册中;)
TheGrumpyCoda

3
使用@符号代替\也可以。
Drewsmits

8
+1好收藏!如何在快速帮助中添加到另一个类的快速帮助的链接?
Selvin

3
您还可以使用@c来显示打字机文本中的下一个单词,如中所示Returns an @c NSString or @c nil.
马修·基罗斯

7
您是否找到一种方法使URL显示在Option-单击弹出窗口中?例如,如果您在Option上单击-[CADisplayLink addToRunLoop:forMode:],说明中将包含指向其他类的命名链接(但我想面向Web的URL也会有用)。
Zev Eisenberg 2014年

16

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

9

感性的:

在对文档进行最新更改之前,您可能需要构建项目。

有时候这对我来说还不够。关闭Xcode并打开项目备份通常可以解决这些情况。

在.h文件和.m文件中,我也得到了不同的结果。当文档注释位于头文件中时,我找不到新行。


5

Swift 2.0的大多数格式已更改(从Xcode7ß3开始,在ß4中也是如此)

而不是:param: thing description of thing (就像在Swift 1.2中一样)

就是现在 - parameter thing: description of thing

大多数的关键词已被替换- [keyword]: [description],而不是:[keyword]: [description]。目前,不工作的关键字列表包括,abstractdiscussionbriefprepostsaseeavailabilityclassdeprecatedmethodpropertyprotocolrelatedref

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.