De nombreuses langues prennent en charge les commentaires de documentation pour permettre à un générateur (comme javadoc
ou doxygen ) de générer de la documentation de code en analysant ce même code.
Swift a-t-il une fonctionnalité de commentaire de documentation de type comme celle-ci?
swift
documentation-generation
pconcepcion
la source
la source
// MARK:
commentaire est également prévu pour une future version de Xcode.Réponses:
Les commentaires de documentation sont pris en charge nativement dans Xcode, produisant une documentation intelligemment rendue dans l'aide rapide (à la fois dans la fenêtre contextuelle lors du ⌥clic sur les symboles et dans l'inspecteur d'aide rapide ⌥⌘2).
Les commentaires de documentation des symboles sont désormais basés sur la même syntaxe Markdown que celle utilisée pour les commentaires de terrain de jeu riches, de sorte que beaucoup de ce que vous pouvez faire dans les terrains de jeu peut désormais être utilisé directement dans la documentation du code source.
Pour plus de détails sur la syntaxe, voir Référence de formatage de balisage . Notez qu'il y a quelques divergences entre la syntaxe des commentaires riches de la cour de récréation et la documentation des symboles; ceux-ci sont indiqués dans le document (par exemple, les guillemets ne peuvent être utilisés que dans les terrains de jeux).
Voici un exemple et une liste des éléments de syntaxe qui fonctionnent actuellement pour les commentaires de documentation des symboles.
Mises à jour
Xcode 7 beta 4 ~ "
- Throws: ...
" ajouté en tant qu'élément de liste de niveau supérieur qui apparaît à côté des paramètres et des descriptions de retour dans l'aide rapide.Xcode 7 beta 1 ~ Quelques changements importants de syntaxe avec Swift 2 - commentaires de documentation désormais basés sur Markdown (comme pour les terrains de jeux).
Xcode 6.3 (6D570) ~ Le texte en retrait est désormais formaté en blocs de code, les retraits suivants étant imbriqués. Il ne semble pas possible de laisser une ligne vierge dans un tel bloc de code - en essayant de le faire, le texte sera collé à la fin de la dernière ligne avec des caractères.
Xcode 6.3 beta ~ Le code en ligne peut maintenant être ajouté aux commentaires de documentation à l'aide de backticks.
Exemple pour Swift 2
Syntaxe pour Swift 2 (basée sur Markdown )
Style de commentaire
Les commentaires de style
///
(en ligne) et/** */
(bloc) sont pris en charge pour produire des commentaires de documentation. Bien que je préfère personnellement le style visuel des/** */
commentaires, l'indentation automatique de Xcode peut ruiner la mise en forme de ce style de commentaire lors de la copie / du collage car elle supprime les espaces principaux. Par exemple:Lors du collage, l'indentation du bloc de code est supprimée et n'est plus rendue sous forme de code:
Pour cette raison, j'utilise généralement
///
, et je vais l'utiliser pour le reste des exemples de cette réponse.Éléments de bloc
Titre:
ou
Sous-titre:
ou
La règle horizontale:
Listes non classées (à puces):
Vous pouvez également utiliser
+
ou*
pour des listes non ordonnées, il doit simplement être cohérent.Listes ordonnées (numérotées):
Blocs de code:
Une indentation d'au moins quatre espaces est requise.
Éléments en ligne
Souligné (italique):
Fort (gras):
Notez que vous ne pouvez pas mélanger des astérisques (
*
) et des traits de soulignement (_
) sur le même élément.Code en ligne:
Liens:
Images:
L'URL peut être une URL Web (en utilisant "http: //") ou une URL de chemin de fichier absolu (je n'arrive pas à faire fonctionner les chemins de fichier relatifs).
Les URL des liens et des images peuvent également être séparées de l'élément en ligne afin de conserver toutes les URL en un seul endroit gérable:
Mots clés
En plus du formatage Markdown, Xcode reconnaît d'autres mots clés de balisage à afficher en évidence dans l'aide rapide. Ces mots-clés de balisage prennent principalement le format
- <keyword>:
(à l'exceptionparameter
, qui inclut également le nom du paramètre avant les deux-points), où le mot-clé lui-même peut être écrit avec n'importe quelle combinaison de caractères majuscules / minuscules.Mots-clés de la section des symboles
Les mots clés suivants sont affichés sous forme de sections bien visibles dans la visionneuse d'aide, sous la section "Description" et au-dessus de la section "Déclaré dans". Une fois inclus, leur commande est fixée comme indiqué ci-dessous, même si vous pouvez les inclure dans l'ordre que vous souhaitez dans vos commentaires.
Consultez la liste entièrement documentée des mots-clés de section et de leurs utilisations prévues dans la section Commandes de section de symbole de la référence de formatage de balisage .
Alternativement, vous pouvez écrire chaque paramètre de cette façon:
Symbole Description Mots clés du champ
La liste de mots clés suivante s'affiche sous forme de titres en gras dans le corps de la section "Description" de la visionneuse d'aide. Ils apparaîtront dans l'ordre dans lequel vous les écrivez, comme dans le reste de la section "Description".
Liste complète paraphrasée de cet excellent article de blog d'Erica Sadun. Consultez également la liste complète des mots clés et leurs utilisations prévues dans la section Commandes de description du symbole de la référence de mise en forme des balises .
Attributions:
Disponibilité:
Admonitions:
État de développement:
Qualités de mise en œuvre:
Sémantique fonctionnelle:
Références croisées:
Exportation de documentation
La documentation HTML (conçue pour imiter la propre documentation d'Apple) peut être générée à partir de la documentation en ligne à l'aide de Jazzy , un utilitaire de ligne de commande open-source.
Exemple de console tiré de cet article NSHipster
la source
/// - todo: keyword
myOtherMethod(param1:)
pour des fonctionnalités étendues"/// - Tag: otherMethod
et[otherMethod](x-source-tag://otherMethod)
. Pour plus de détails, voir ma réponse .Voici quelques éléments qui fonctionnent pour documenter du code rapide dans Xcode 6. Il est très bogué et sensible aux deux points, mais c'est mieux que rien:
Ce qui précède est rendu dans l'aide rapide comme vous vous en doutez avec les listes numériques formatées, les puces, la documentation des paramètres et des valeurs de retour.
Rien de tout cela n'est documenté - déposez un radar pour les aider.
la source
reStructuredText
.///
ligne de commentaire ( ) vide soit requise entre tout texte explicatif et les lignes:param:
ou:returns:
. Si vous omettez cela, XCode (6.1.1 au moment de la rédaction) inclut l'aide des paramètres dans le corps principal de la description de la fonction.Nouveau dans Xcode 8 , vous pouvez sélectionner une méthode comme celle-ci
Appuyez ensuite sur
command
+option
+/
ou choisissez "Structure" - "Ajouter de la documentation" dans le menu "Editeur" de Xcode, et il générera pour vous le modèle de commentaires suivant:la source
Swift inclut la gestion des commentaires "///" (bien que ce ne soit probablement pas encore tout).
Écrivez quelque chose comme:
Ensuite, cliquez sur le nom de la fonction et voilà :)
la source
Je peux confirmer que ShakenManChild a fourni une solution peopr
Assurez-vous simplement que vous avez une ligne vide sous la description!
la source
Oui. Base commune (j'ai fait des extraits pour cela avec un équivalent Obj-C)
Objectif c:
Rapide
la source
Si vous n'utilisez que Swift, Jazzy mérite d'être étudié.
https://github.com/realm/jazzy
la source
J'ai trouvé quelque chose d'intéressant, en creusant dans le binaire Xcode. Fichiers avec la fin
.swiftdoc
. Il contient certainement des documents, car ces fichiers contiennent les documents de l'API Swift UIKit / Foundation, malheureusement il semble que ce soit un format de fichier propriétaire, à utiliser dans la visionneuse de documentation dans Xcode.la source
Dans Xcode Editor -> Structure -> Add Documentation.
la source
Jazzy peut aider à générer une belle documentation de style pomme. Voici un exemple d'application avec des détails sur la façon d'utiliser et de configurer rapidement.
https://github.com/SumitKr88/SwiftDocumentationUsingJazzy
la source
C'est peut-être une bonne idée d'avoir un œil sur AppleDoc ou sur le propre HeaderDoc d' Apple qui n'est pas très reconnu. Je peux toujours trouver quelques astuces HeaderDoc dans le terminal 10.9 Mavericks (headerdoc2html)
Je recommande de lire la dernière " Quoi de neuf dans Xcode " * (je ne sais pas si c'est toujours sous NDA) * Le lien pointe vers la version Xcode 5.1 qui contient aussi des informations sur HeaderDoc.
la source
Depuis Xcode 5.0, les commentaires structurés Doxygen et HeaderDoc sont pris en charge.
La source
la source
/// This is what the method does.
etc.