答案 0 :(得分:62)
@link
和@code
,但很容易被Inline Markup取代。
来自KotlinDoc Linking to Elements
内联标记
对于内联标记,KDoc使用扩展为的常规Markdown语法 支持用于链接到代码中其他元素的简写语法。
链接到元素
要链接到另一个元素(类,方法,属性或参数), 只需将其名称放在方括号中:
为此目的使用方法
[foo]
。如果要指定自定义 链接的标签,使用Markdown参考样式语法:
为此目的使用
[this method][foo]
。您也可以使用合格的 链接中的名称。请注意,与JavaDoc不同,始终是限定名称 使用点字符来分隔组件,甚至在方法之前 名:使用
[kotlin.reflect.KClass.properties]
枚举。的属性 班级。链接中的名称使用与以下相同的规则进行解析 name在被记录的元素中使用。特别是这个 意味着如果您已将名称导入当前文件,则表示您 在KDoc评论中使用它时,不需要完全限定它。请注意,KDoc没有任何解析重载的语法 链接中的成员。自Kotlin文档生成工具以来 同一页面上函数的所有重载的文档, 不需要识别特定的重载功能 链接到工作。
答案 1 :(得分:15)
对于Java中的{@link SomeClass}
,在Kotlin中映射为[SomeClass]
对于Java中的{@code true}
,在Kotlin中映射为`true`
答案 2 :(得分:7)
要引用方法,请使用 class :
/**
* When the configuration succeeds **[MyCallback.onConfigured]** is called.
*/
class MyClass(myCallback: MyCallback) {
使用变量/参数不起作用:
/**
* When the configuration succeeds **[myCallback.onConfigured]** is called.
*/
class MyClass(myCallback: MyCallback) {
答案 3 :(得分:4)
您可以使用Java编写代码并将类转换为Kotlin。
/**
* @see <a href="http://somelink.com">link</a>
*/
public class Some {
}
将转换为
/**
* @see [link](http://somelink.com)
*/
class Some
答案 4 :(得分:4)
给出的answer that Artur通常是一个很好的提示,但结果是错误的。至少IntelliJ IDEA不会取消结果。在主注释文本中使用[]()
的markdown链接格式很好,但对于@see
标签中的外部链接,不是。对于这些,您需要与Java中相同的语法:
/**
* Do something.
*
* @see <a href="https://stackoverflow.com/q/45195370/2621917">External links in kdoc</a>
*/
答案 5 :(得分:1)
我在Mac上的Android Studio 3.5.2上为此付出了一些努力。这对我有用:
/**
* [Your fully-qualified class name.function name]
*/
如果我不使用全限定名,则Kdoc会抱怨说这是一个未解决的引用。我不知道是如何实际使用链接本身。为此,您需要按住COMMAND键(在Mac上是这样),然后链接将处于活动状态。
答案 6 :(得分:0)
对于@code
,您应该使用Markdown syntax(因为KDoc是Markdown的扩展版本):
要在Markdown中生成代码块,只需将代码块的每一行缩进至少4个空格或1个制表符。
/**
* Some code sample:
*
* Set<String> s;
* System.out.println(s);
*/
class Scratch