Многие языки поддерживают комментарии к документации, чтобы генератор (например, javadoc
или doxygen ) мог генерировать документацию кода, анализируя тот же код.
Есть ли у Swift какая-либо функция комментариев к документации типа?
swift
documentation-generation
pconcepcion
источник
источник
// MARK:
комментарий также запланирован для будущей версии Xcode.Ответы:
Комментарии к документации изначально поддерживаются в XCode, создавая грамотно оформленную документацию в быстрой справке (как в всплывающем окне при ⌥нажатии символов, так и в инспекторе быстрой справки ⌥⌘2).
Комментарии к символьной документации теперь основаны на том же синтаксисе Markdown, который используется в богатых комментариях к игровым площадкам, поэтому многое из того, что вы можете делать на игровых площадках, теперь можно использовать непосредственно в документации по исходному коду.
Для получения полной информации о синтаксисе см. Справочник по форматированию разметки . Обратите внимание, что есть некоторые несоответствия между синтаксисом для богатых комментариев к игровой площадке и документации символов; они указаны в документе (например, кавычки могут использоваться только на игровых площадках).
Ниже приведен пример и список элементов синтаксиса, которые в настоящее время работают для комментариев документации по символам.
Обновления
Xcode 7 beta 4 ~ Добавлено "
- Throws: ...
" как элемент списка верхнего уровня, который отображается рядом с параметрами и возвращает описания в быстрой справке.Xcode 7 beta 1 ~ Некоторые существенные изменения в синтаксисе со Swift 2 - комментарии к документации теперь основаны на Markdown (аналогично игровым площадкам).
Xcode 6.3 (6D570) ~ Текст с отступом теперь отформатирован как блоки кода с последующими вложенными отступами. Кажется невозможным оставить пустую строку в таком блоке кода - попытка сделать это приводит к тому, что текст будет добавлен в конец последней строки с любыми символами в нем.
Xcode 6.3 beta ~ Встроенный код теперь может быть добавлен в комментарии к документации с помощью обратных галочек.
Пример для Swift 2
Синтаксис для Swift 2 (на основе уценки )
Стиль комментариев
Оба
///
(встроенный) и/** */
(блочный) стиль комментариев поддерживаются для создания комментариев документации. Хотя я лично предпочитаю визуальный стиль/** */
комментариев, автоматическое отступление XCode может испортить форматирование для этого стиля комментариев при копировании / вставке, поскольку оно удаляет начальные пробелы. Например:При вставке отступ блока кода удаляется и больше не отображается как код:
По этой причине я обычно использую
///
и буду использовать это для остальных примеров в этом ответе.Блочные элементы
Заголовок:
или
Подрубрика:
или
Горизонтальное правило:
Неупорядоченные (маркированные) списки:
Вы также можете использовать
+
или*
для неупорядоченных списков, это просто должно быть последовательным.Упорядоченные (пронумерованные) списки:
Блоки кода:
Требуется отступ не менее четырех пробелов.
Встроенные элементы
Акцент (курсив):
Сильный (жирный):
Обратите внимание, что вы не можете смешивать звездочки (
*
) и подчеркивание (_
) в одном элементе.Встроенный код:
Ссылки:
Изображений:
URL-адрес может быть либо веб-URL-адресом (с использованием «http: //»), либо URL-адресом абсолютного пути к файлу (кажется, я не могу заставить работать относительные пути к файлам).
URL-адреса для ссылок и изображений также можно отделить от встроенного элемента, чтобы сохранить все URL-адреса в одном управляемом месте:
Ключевые слова
В дополнение к форматированию Markdown, XCode распознает другие ключевые слова разметки, которые отображаются на видном месте в быстрой справке. Эти ключевые слова разметки в основном принимают формат
- <keyword>:
(за исключением тогоparameter
, что также включает имя параметра перед двоеточием), где само ключевое слово может быть написано с любой комбинацией символов верхнего и нижнего регистра.Ключевые слова раздела символов
Следующие ключевые слова отображаются в виде заметных разделов в средстве просмотра справки, под разделом «Описание» и над разделом «Объявлено». Когда они включены, их порядок фиксируется, как показано ниже, даже если вы можете включить их в любом порядке, который вам нравится в ваших комментариях.
См. Полностью документированный список ключевых слов раздела и их предполагаемое использование в разделе «Команды раздела символов» справочника по форматированию разметки .
Кроме того, вы можете написать каждый параметр следующим образом:
Символ Описание Ключевые слова поля
Следующий список ключевых слов отображается в виде жирных заголовков в теле раздела «Описание» средства просмотра справки. Они будут отображаться в любом порядке, в котором вы их пишете, как и в остальной части раздела «Описание».
Полный список перефразирован из этой замечательной статьи Эрики Садун. Также см. Полностью документированный список ключевых слов и их предполагаемое использование в разделе «Команды поля описания символа» в справочнике по форматированию разметки .
атрибуции:
Доступность:
Наставления:
Состояние развития:
Качество реализации:
Функциональная семантика:
Перекрестная ссылка:
Экспорт документации
HTML-документация (предназначенная для имитации собственной документации Apple) может быть сгенерирована из встроенной документации с использованием утилиты командной строки с открытым исходным кодом Jazzy .
Пример консоли, взятый из этой статьи NSHipster
источник
/// - todo: keyword
myOtherMethod(param1:)
Для расширенной функциональности»/// - Tag: otherMethod
и[otherMethod](x-source-tag://otherMethod)
. Для более подробной информации, смотрите мой ответ .Вот некоторые вещи, которые работают для документирования быстрого кода в Xcode 6. Он очень глючит и чувствителен к двоеточиям, но лучше, чем ничего:
Выше приведено в быстрой справке, как и следовало ожидать с отформатированными числовыми списками, маркерами, документацией параметров и возвращаемых значений.
Ничего из этого не задокументировано - подайте радар, чтобы помочь им в этом.
источник
reStructuredText
.///
между любым пояснительным текстом и строками:param:
или должна быть пустая строка комментария ( ):returns:
. Отказ от этого заставляет XCode (6.1.1 на момент написания) включить справку по параметру в основную часть описания функции.Новое в Xcode 8 , вы можете выбрать такой метод
Затем нажмите
command
+option
+/
или выберите «Структура» - «Добавить документацию» из меню «Редактор» Xcode, и он сгенерирует для вас следующий шаблон комментариев:источник
Swift включает обработку комментариев "///" (хотя, вероятно, еще не все).
Напишите что-то вроде:
Затем кликните на название функции и вуаля :)
источник
Я могу подтвердить, что ShakenManChild предоставил Peopr решение
Просто убедитесь, что у вас есть пустая строка под описанием!
источник
Да. Базовая база (я сделал для нее фрагменты с эквивалентом Obj-C)
Objective-C:
стриж
источник
Если вы используете только Swift, то стоит посмотреть на Jazzy.
https://github.com/realm/jazzy
источник
Я нашел что-то интересное, копаясь в двоичном коде Xcode. Файлы с окончанием
.swiftdoc
. У него определенно есть документы, потому что эти файлы содержат документы для Swift UIKit / Foundation API, к сожалению, это, кажется, проприетарный формат файла, для использования в средстве просмотра документации в Xcode.источник
В редакторе Xcode -> Структура -> Добавить документацию.
источник
Jazzy может помочь создать красивую документацию в стиле яблока. Вот пример приложения с подробной информацией о том, как быстро его использовать и настраивать.
https://github.com/SumitKr88/SwiftDocumentationUsingJazzy
источник
Может быть, это хорошая идея, чтобы взглянуть на AppleDoc или собственный Apple HeaderDoc, который не очень известен. Я все еще могу найти некоторые подсказки HeaderDoc в терминале 10.9 Mavericks (headerdoc2html)
Рекомендую прочитать последнюю версию Что нового в Xcode » * (не уверен, что он все еще под NDA) * Ссылка указывает на версию Xcode 5.1, которая также содержит информацию о HeaderDoc.
источник
Начиная с Xcode 5.0, поддерживаются структурированные комментарии Doxygen и HeaderDoc.
Источник
источник
/// This is what the method does.
и т. Д.