L'une des nouvelles fonctionnalités de Xcode 5 est la possibilité de documenter votre propre code avec une syntaxe de commentaire spéciale. Le format est similaire à doxygen, mais semble ne prendre en charge qu'un sous-ensemble de ces fonctionnalités .
Quelles commandes sont supportées et lesquelles ne le sont pas?
Certains de leurs usages diffèrent-ils du doxygen?
Voici un exemple de toutes les options que j'ai trouvées depuis Xcode 5.0.2
Cela a été généré avec ce code:
/** 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 {}
Notes:
/** block */
, /*! block */
ou préfixé par ///
ou //!
.@
_ ( headerdoc style) ou le \
_ ( doxygen style) préfixe. (C'est à dire. @b
et \b
les deux font la même chose.)@property
texte.) Ils peuvent venir après, sur la même ligne, avec /*!<
, /**<
, //!<
, ///<
.@returns
.Cela montrera le texte bref (sans mise en forme); si aucun texte bref n'existe, il affichera une concaténation de tout le texte jusqu'au premier bloc @; s'il n'en existe pas (par exemple, vous commencez par @retour), alors le texte sera séparé de toutes les commandes @.
(Voir la première capture d'écran.)
Les commandes de Xcode 5 étant compatibles avec Doxygen, vous pouvez télécharger et utiliser Doxygen pour générer des fichiers de documentation.
Pour une introduction générale à Doxygen et à la documentation du code Objective-C, cette page semble être une bonne ressource.
Descriptions de certaines des commandes prises en charge:
@brief
: insère du texte au début du champ de description et est le seul texte qui apparaîtra pendant la complétion du code.Ce qui suit ne fonctionne pas:
\n
: ne génère pas de nouvelle ligne. Une façon de créer une nouvelle ligne est de s’assurer que rien n’est sur cette ligne. Pas même un seul caractère d'espace!\example
Les éléments suivants ne sont pas pris en charge (ils n'apparaissent même pas en vert foncé):
Apple utilise des mots clés apparemment réservés qui ne fonctionnent que dans leur documentation. Bien qu'ils apparaissent en vert foncé, il semble que nous ne pouvons pas les utiliser comme Apple. Vous pouvez voir des exemples d'utilisation d'Apple dans des fichiers tels que AVCaptureOutput.h.
Voici une liste de certains de ces mots clés:
Au mieux, le mot-clé provoquera une nouvelle ligne dans le champ Description (par exemple, @ discussion). Dans le pire des cas, le mot-clé et le texte qui le suit ne figureront pas dans l'aide rapide (par exemple, @class).
Swift 2. utilise la syntaxe suivante:
/**
Squares a number.
- parameter parameterName: number The number to square.
- returns: The number squared.
*/
Remarquez comment @param
est maintenant - parameter
.
Vous pouvez également maintenant inclure des puces dans votre documentation:
/**
- square(5) = 25
- square(10) = 100
*/
Senseful:
Vous devrez peut-être créer votre projet avant que les dernières modifications apportées à votre documentation apparaissent.
Parfois, cela n'a pas suffi pour moi. Fermer Xcode et ouvrir la sauvegarde du projet corrigent généralement ces cas.
J'obtiens également des résultats différents dans les fichiers .h et les fichiers .m. Je ne peux pas obtenir de nouvelles lignes lorsque les commentaires de la documentation sont dans un fichier d'en-tête.
La plupart du formatage a changé pour Swift 2.0 (à partir de Xcode7 ß3, également vrai dans ß4)
au lieu de :param: thing description of thing
(comme dans Swift 1.2)
c'est maintenant - parameter thing: description of thing
La plupart des mots-clés ont été remplacés par - [keyword]: [description]
au lieu de :[keyword]: [description]
. Actuellement, la liste des mots-clés qui ne fonctionnent pas comprend: abstract
, discussion
, brief
, pre
, post
, sa
, see
, availability
, class
, deprecated
, method
, property
, protocol
, related
, ref
.