24

假设我们有这样的记录字符串

/** retrieve a state of the service
* <br/> HTTP code 200 - normal state
* <br/> HTTP code 403 - some recoverable state:
const val SERVICE_STATE = "servicestate" */

这里有几个<br/>,我用来断行,就像我在 java 中所做的那样,但AndroidStudio的输出(在InteliJIdea中似乎相同)是 在此处输入图像描述

使用 java 可以正确解析和显示:

/** retrieve a state of the service
 * <br/> HTTP code 200 - normal state
 * <br/> HTTP code 403 - some recoverable state */
public static final String SERVICE_STATE = "servicestate";

在此处输入图像描述

我可以用 kotlin 和 IntelijIdea 以某种方式实现相同的效果吗,也许 kotlin 有另一种选择来打破 KDoc 中的界限?

4

2 回答 2

28

KDoc 格式使用 Markdown 语法而不是 HTML,基本的 Markdown 不提供在不开始新段落的情况下换行的方法。

我不确定为什么 Kotlin IntellIJ 插件不支持<br/>double space hack

如果开始一个新段落是可以的,只需跳过一个空行:

/** 
 * retrieve a state of the service
 *
 * HTTP code 200 - normal state
 *
 * HTTP code 403 - some recoverable state:
 */

结果是:

在此处输入图像描述

于 2018-03-29T14:52:54.083 回答
3

要添加到@hotkey 的答案,您还可以使用三个反引号,因为支持 Markdown:

/**
 * Returns masked complement, i.e. expected value in the [maskBits] bits instead of a negative number because of
 * 2's complement representation
 *
 * For example, for 9:
 * ```
 *  Binary representation:         00...01001
 *  Complement:                    11...10110 which is -10
 *  Masking with 4 bits:  and with 00...01111
 *  So we get:                     00...00110 which is the expected bitwise complement
 * ```
 * @param maskBits Number of bits to mask the complement to
 * @return Decimal representation of the masked complement
 */
fun Int.inv(maskBits: Int) = inv() and 2.pow(maskBits) - 1

结果是:

在此处输入图像描述

于 2021-12-05T13:34:40.617 回答