Banyak bahasa mendukung komentar dokumentasi untuk memungkinkan generator (seperti javadoc
atau doxygen ) menghasilkan dokumentasi kode dengan menguraikan kode yang sama.
Apakah Swift memiliki fitur komentar jenis dokumentasi seperti ini?
swift
documentation-generation
konsepsi
sumber
sumber
// MARK:
komentar juga dijadwalkan untuk versi Xcode di masa depan.Jawaban:
Komentar dokumentasi didukung secara asli di Xcode, menghasilkan dokumentasi yang diterjemahkan dengan cerdas dalam Bantuan Cepat (keduanya dalam ⌥sembulan ketika -klik simbol, dan di Inspektur Bantuan Cepat ⌥⌘2).
Komentar dokumentasi simbol sekarang didasarkan pada sintaks Markdown yang sama yang digunakan oleh komentar taman bermain yang kaya, sehingga banyak hal yang dapat Anda lakukan di taman bermain sekarang dapat digunakan secara langsung dalam dokumentasi kode sumber.
Untuk detail lengkap sintaks, lihat Referensi Pemformatan Markup . Perhatikan bahwa ada beberapa perbedaan antara sintaksis untuk komentar taman bermain kaya & dokumentasi simbol; ini ditunjukkan dalam dokumen (mis. kutipan blok hanya dapat digunakan di taman bermain).
Di bawah ini adalah contoh dan daftar elemen sintaks yang saat ini berfungsi untuk komentar dokumentasi simbol.
Pembaruan
Xcode 7 beta 4 ~ Ditambahkan "
- Throws: ...
" sebagai item daftar tingkat atas yang muncul di samping parameter dan mengembalikan deskripsi dalam Bantuan Cepat.Xcode 7 beta 1 ~ Beberapa perubahan signifikan pada sintaksis dengan Swift 2 - komentar dokumentasi sekarang berdasarkan Markdown (sama seperti taman bermain).
Xcode 6.3 (6D570) ~ Teks indentasi sekarang diformat sebagai blok kode, dengan lekukan berikutnya yang bersarang. Tampaknya tidak mungkin untuk meninggalkan baris kosong di blok kode seperti itu - mencoba melakukannya menghasilkan teks yang ditempelkan di akhir baris terakhir dengan karakter apa pun di dalamnya.
Xcode 6.3 beta ~ Kode inline sekarang dapat ditambahkan ke komentar dokumentasi menggunakan backticks.
Contoh untuk Swift 2
Sintaks untuk Swift 2 (berdasarkan penurunan harga )
Gaya Komentar
Kedua
///
(inline) dan/** */
komentar (blok) gaya yang didukung untuk memproduksi komentar dokumentasi. Sementara saya pribadi lebih suka gaya visual/** */
komentar, lekukan otomatis Xcode dapat merusak format untuk gaya komentar ini saat menyalin / menempel karena menghilangkan spasi putih terkemuka. Sebagai contoh:Saat menempel, indentasi blok kode dihapus dan tidak lagi dirender sebagai kode:
Untuk alasan ini, saya biasanya menggunakan
///
, dan akan menggunakannya untuk sisa contoh dalam jawaban ini.Elemen Blok
Tajuk:
atau
Subpos:
atau
Aturan horisontal:
Daftar tidak berurutan (berpoin):
Anda juga dapat menggunakan
+
atau*
untuk daftar tidak berurutan, hanya saja harus konsisten.Daftar yang dipesan (bernomor):
Blok kode:
Lekukan setidaknya empat ruang diperlukan.
Elemen Sebaris
Penekanan (miring):
Kuat (berani):
Perhatikan bahwa Anda tidak dapat mencampur tanda bintang (
*
) dan garis bawah (_
) pada elemen yang sama.Kode sebaris:
Tautan:
Gambar-gambar:
URL dapat berupa URL web (menggunakan "http: //") atau URL path file absolut (Saya sepertinya tidak bisa mendapatkan path file relatif untuk bekerja).
URL untuk tautan dan gambar juga dapat dipisahkan dari elemen sebaris untuk menjaga semua URL di satu tempat yang dapat dikelola:
Kata kunci
Selain pemformatan Markdown, Xcode mengenali kata kunci markup lainnya untuk ditampilkan secara jelas di Bantuan Cepat. Kata kunci markup ini sebagian besar mengambil format
- <keyword>:
(pengecualiannya adalahparameter
, yang juga menyertakan nama parameter sebelum titik dua), di mana kata kunci itu sendiri dapat ditulis dengan kombinasi karakter huruf besar / kecil.Kata kunci Bagian Simbol
Kata kunci berikut ditampilkan sebagai bagian yang menonjol di penampil bantuan, di bawah bagian "Deskripsi", dan di atas bagian "Dinyatakan dalam". Ketika disertakan, pesanan mereka diperbaiki seperti yang ditampilkan di bawah ini meskipun Anda dapat memasukkannya dalam urutan apa pun yang Anda suka dalam komentar Anda.
Lihat daftar kata kunci bagian yang sepenuhnya terdokumentasi dan kegunaannya di bagian Perintah Bagian Simbol dari Referensi Pemformatan Markup .
Atau, Anda dapat menulis setiap parameter dengan cara ini:
Simbol Deskripsi Kata kunci bidang
Daftar kata kunci berikut ditampilkan sebagai judul tebal di badan bagian "Deskripsi" pada penampil bantuan. Mereka akan muncul dalam urutan apa pun yang Anda tuliskan, seperti bagian "Deskripsi" lainnya.
Daftar lengkap diparafrasekan dari artikel blog yang sangat baik ini oleh Erica Sadun. Juga lihat daftar kata kunci yang sepenuhnya didokumentasikan dan kegunaan yang dimaksudkan di bagian Perintah Keterangan Simbol dari Referensi Pemformatan Markup .
Atribusi:
Ketersediaan:
Peringatan:
Negara pembangunan:
Kualitas Penerapan:
Semantik Fungsional:
Referensi silang:
Mengekspor Dokumentasi
Dokumentasi HTML (dirancang untuk meniru dokumentasi Apple sendiri) dapat dihasilkan dari dokumentasi inline menggunakan Jazzy , utilitas baris perintah sumber terbuka.
Contoh konsol yang diambil dari artikel NSHipster ini
sumber
/// - todo: keyword
myOtherMethod(param1:)
fungsionalitas yang diperluas"/// - Tag: otherMethod
dan[otherMethod](x-source-tag://otherMethod)
. Untuk lebih jelasnya, lihat jawaban saya .Berikut adalah beberapa hal yang berfungsi untuk mendokumentasikan kode cepat di Xcode 6. Sangat bermasalah dan sensitif terhadap titik dua, tetapi lebih baik daripada tidak sama sekali:
Di atas diberikan dalam Bantuan Cepat seperti yang Anda harapkan dengan daftar angka yang diformat, poin-poin, parameter dan dokumentasi nilai pengembalian.
Tak satu pun dari ini didokumentasikan - mengajukan Radar untuk membantu mereka.
sumber
reStructuredText
.///
) baris diperlukan antara teks penjelasan dan:param:
atau:returns:
garis. Menghilangkan ini menyebabkan XCode (6.1.1 pada saat penulisan) untuk menyertakan bantuan parameter dalam tubuh utama dari deskripsi fungsi.Baru di Xcode 8 , Anda dapat memilih metode seperti ini
Kemudian tekan
command
+option
+/
atau pilih "Struktur" - "Tambahkan dokumentasi" dari menu "Editor" Xcode, dan itu akan menghasilkan templat komentar berikut untuk Anda:sumber
Swift termasuk penanganan komentar "///" (walaupun mungkin belum semuanya).
Tulis sesuatu seperti:
Kemudian klik opsi pada nama func dan voila :)
sumber
Saya dapat mengonfirmasi bahwa ShakenManChild telah menyediakan solusi peopr
Pastikan saja, Anda memiliki baris kosong di bawah deskripsi!
sumber
Iya. Dasar umum (saya membuat cuplikan untuknya dengan setara Obj-C)
Tujuan-C:
Cepat
sumber
Jika Anda hanya menggunakan Swift maka Jazzy layak untuk dilihat.
https://github.com/realm/jazzy
sumber
Saya telah menemukan sesuatu yang menarik, menggali dalam biner Xcode. File dengan akhiran
.swiftdoc
. Ini pasti memiliki dokumen, karena file-file ini mengandung dokumen untuk Swift UIKit / Foundation API, sayangnya itu tampaknya merupakan format file berpemilik, untuk digunakan dalam penampil Dokumentasi dalam Xcode.sumber
Di Editor Xcode -> Struktur -> Tambahkan Dokumentasi.
sumber
Jazzy dapat membantu menghasilkan dokumentasi bergaya apel yang indah. Berikut adalah contoh aplikasi dengan detail tentang cara menggunakan dan mengonfigurasi dengan cepat.
https://github.com/SumitKr88/SwiftDocumentationUsingJazzy
sumber
Mungkin itu ide yang baik untuk memiliki mata pada AppleDoc atau Apple sendiri HeaderDoc yang tidak diakui sangat banyak. Saya masih dapat menemukan beberapa petunjuk HeaderDoc di terminal 10.9 Mavericks (headerdoc2html)
Saya sarankan untuk membaca " What's New In Xcode " terbaru (* tidak yakin apakah masih di bawah NDA) * Tautan menunjuk ke versi Xcode 5.1 yang berisi info tentang HeaderDoc juga.
sumber
Pada Xcode 5.0, komentar terstruktur Doxygen dan HeaderDoc didukung.
Sumber
sumber
/// This is what the method does.
dll.