我正在尝试记录一种方法,并试图像JavaDoc中那样使用@link
和。@code
我知道在Kotlin中有一个kDoc,但我找不到它们或至少找不到类似的东西。
Answers:
@link
并且@code
在kDoc中不存在,但可以轻松地由Inline Markup替换。
从KotlinDoc链接到Elements
内联标记
对于内联标记,KDoc使用常规的Markdown语法,已扩展为支持链接到代码中其他元素的简写语法。
链接到元素
要链接到另一个元素(类,方法,属性或参数),只需将其名称放在方括号中:
[foo]
为此使用方法。如果要为链接指定自定义标签,请使用Markdown参考样式语法:
使用
[this method][foo]
用于这一目的。您也可以在链接中使用限定名称。请注意,与JavaDoc不同,限定名称始终使用点字符来分隔组件,甚至在方法名称之前也是如此:使用
[kotlin.reflect.KClass.properties]
枚举类的属性。链接中的名称使用相同的规则解析,就像在记录的元素内部使用名称一样。特别是,这意味着,如果您已将名称导入当前文件,则在KDoc注释中使用该名称时,无需完全限定其名称。请注意,KDoc没有用于解析链接中重载成员的任何语法。由于Kotlin文档生成工具将函数所有重载的文档放在同一页上,因此链接正常工作不需要识别特定的重载函数。
您可以使用Java编写代码并将类转换为Kotlin。
/**
* @see <a href="http://somelink.com">link</a>
*/
public class Some {
}
将转换为
/**
* @see [link](http://somelink.com)
*/
class Some
对于{@link SomeClass}
Java映射到[SomeClass]
Kotlin
{@code true}
在Java中,对于Kotlin中的映射为`true`
至于,@code
您应该使用Markdown语法(因为KDoc是Markdown的扩展版本):
要在Markdown中生成代码块,只需将代码块的每一行缩进至少4个空格或1个制表符。
/**
* Some code sample:
*
* Set<String> s;
* System.out.println(s);
*/
class Scratch
/*
的,而不是/**
...