Как использовать @link и @code в kotlin kDoc

Я пытаюсь документировать метод и пытаюсь использовать @link и @code, как в JavaDoc.

Я знаю, что в kotlin есть kDoc, но я не могу найти их или, по крайней мере, что-то подобное.

Ответ 1

@link и @code не существует в kDoc, но его можно легко заменить на Inline Markup.

из KotlinDoc Связывание с элементами

Встроенная разметка

Для встроенной разметки KDoc использует регулярный синтаксис Markdown, расширенный до поддерживают сокращенный синтаксис для привязки к другим элементам кода.

Связь с элементами

Для ссылки на другой элемент (класс, метод, свойство или параметр) просто поместите свое имя в квадратные скобки:

Используйте для этого метод [foo].

Если вы хотите указать пользовательский метку для ссылки, используйте синтаксис стиля ссылки Markdown:

Используйте [this method][foo] для этой цели. Вы также можете использовать имена в ссылках. Обратите внимание, что, в отличие от JavaDoc, квалифицированные имена всегда используйте символ точки для разделения компонентов, даже до метода Имя:

Используйте [kotlin.reflect.KClass.properties] для перечисления свойств класс. Имена в ссылках разрешаются с использованием тех же правил, что и имя было использовано внутри документированного элемента. В частности, это означает, что если вы импортировали имя в текущий файл, вы не нужно полностью квалифицировать его, когда вы используете его в комментарии KDoc.

Обратите внимание, что KDoc не имеет синтаксиса для разрешения перегрузки членов в ссылках. Поскольку инструмент генерации документации Kotlin ставит документация для всех перегрузок функции на той же странице, определение конкретной перегруженной функции не требуется для ссылка на работу.

Ответ 2

Вы можете написать свой код с помощью Java и конвертировать класс в Kotlin.

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

будет преобразован в

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

Ответ 3

Ответ , который дал Артур, в целом хороший намек, но результат неверный. По крайней мере, IntelliJ IDEA не дает результата. Формат ссылки уценки с использованием []() подходит для основного текста комментария, но не для внешних ссылок в теге @see. Для них вам нужен тот же синтаксис, что и в Java:

/**
 * Do something.
 *
 * @see <a href="#" onclick="location.href='https://stackoverflow.com/q/45195370/2621917'; return false;">External links in kdoc</a>
 */