web-dev-qa-db-fra.com

Comment utiliser @link et @code dans kotlin kDoc

J'essaie de documenter une méthode et d'utiliser @link et @code comme dans JavaDoc .

Je sais que dans Kotlin, il existe un kDoc mais je ne les trouve pas ou du moins quelque chose de similaire.

24
humazed

@link et @code n'existent pas dans kDoc mais peuvent facilement être remplacés par Inline Markup .

de KotlinDoc Liaison à des éléments

Balisage en ligne

Pour le balisage en ligne, KDoc utilise la syntaxe standard Markdown , étendue à prendre en charge une syntaxe abrégée pour la liaison à d'autres éléments du code.

Liaison aux éléments

Pour créer un lien vers un autre élément (classe, méthode, propriété ou paramètre), il suffit de mettre son nom entre crochets:

Utilisez la méthode [foo] à cette fin.

Si vous souhaitez spécifier un personnalisé Pour le libellé du lien, utilisez la syntaxe de style de référence Markdown:

Utilisez [this method][foo] à cette fin. Vous pouvez également utiliser qualifié noms dans les liens. Notez que, contrairement à JavaDoc, les noms qualifiés toujours utilisez le point pour séparer les composants, même avant une méthode prénom:

Utilisez [kotlin.reflect.KClass.properties] pour énumérer les propriétés de la classe. Les noms dans les liens sont résolus en utilisant les mêmes règles que si le nom a été utilisé à l'intérieur de l'élément documenté. En particulier, ceci signifie que si vous avez importé un nom dans le fichier actuel, vous vous n'avez pas besoin de le qualifier complètement lorsque vous l'utilisez dans un commentaire KDoc.

Notez que KDoc n’a pas de syntaxe pour résoudre une surcharge membres dans les liens. Depuis l'outil de génération de documentation Kotlin met la documentation pour toutes les surcharges d'une fonction sur la même page, l'identification d'une fonction surchargée spécifique n'est pas requise pour le fichier lien au travail.

53
humazed

Vous pouvez écrire votre code avec Java et convertir une classe en Kotlin.

/**
 * @see <a href="http://somelink.com">link</a>
 */
public class Some {
}

sera converti en

/**
 * @see [link](http://somelink.com)
 */
class Some
1
Artur Dumchev