Viele Sprachen unterstützen Dokumentationskommentare , um einen Generator (wie javadoc
oder Sauerstoff) zu ermöglichen ) durch Parsen desselben Codes generieren kann.
Hat Swift eine solche Dokumentationskommentarfunktion?
swift
documentation-generation
pconcepcion
quelle
quelle
// MARK:
Kommentar ist auch für eine zukünftige Xcode-Version geplant.Antworten:
Dokumentationskommentare werden nativ in Xcode unterstützt und erzeugen eine intelligent gerenderte Dokumentation in der Schnellhilfe (sowohl im Popover beim ⌥Klicken auf Symbole als auch im Quick Help Inspector)⌥⌘2 ).
Kommentare zur Symboldokumentation basieren jetzt auf derselben Markdown-Syntax, die auch von umfangreichen Spielplatzkommentaren verwendet wird. Daher kann vieles, was Sie auf Spielplätzen tun können, jetzt direkt in der Quellcodedokumentation verwendet werden.
Ausführliche Informationen zur Syntax finden Sie unter Markup-Formatierungsreferenz . Beachten Sie, dass es einige Diskrepanzen zwischen der Syntax für umfangreiche Spielplatzkommentare und Symboldokumentationen gibt. Auf diese wird im Dokument hingewiesen (z. B. können Blockzitate nur auf Spielplätzen verwendet werden).
Unten finden Sie ein Beispiel und eine Liste der Syntaxelemente, die derzeit für Kommentare zur Symboldokumentation funktionieren.
Aktualisierung
Xcode 7 Beta 4 ~ "
- Throws: ...
" als Listenelement der obersten Ebene hinzugefügt , das neben Parametern und Rückgabeversionen in der Schnellhilfe angezeigt wird.Xcode 7 Beta 1 ~ Einige wichtige Änderungen an der Syntax mit Swift 2 - Dokumentationskommentare basieren jetzt auf Markdown (wie bei Spielplätzen).
Xcode 6.3 (6D570) ~ Einrückter Text wird jetzt als Codeblöcke formatiert, wobei nachfolgende Einrückungen verschachtelt werden. Es scheint nicht möglich zu sein, eine leere Zeile in einem solchen Codeblock zu belassen. Wenn Sie dies versuchen, wird der Text mit allen Zeichen am Ende der letzten Zeile angeheftet.
Xcode 6.3 beta ~ Inline-Code kann jetzt mithilfe von Backticks zu Dokumentationskommentaren hinzugefügt werden.
Beispiel für Swift 2
Syntax für Swift 2 (basierend auf Markdown )
Kommentarstil
Für die Erstellung von Dokumentationskommentaren werden sowohl
///
(Inline-) als auch/** */
(Block-) Kommentare unterstützt. Während ich persönlich den visuellen Stil von/** */
Kommentaren bevorzuge , kann die automatische Einrückung von Xcode die Formatierung für diesen Kommentarstil beim Kopieren / Einfügen ruinieren, da führende Leerzeichen entfernt werden. Beispielsweise:Beim Einfügen wird der Einzug des Codeblocks entfernt und nicht mehr als Code gerendert:
Aus diesem Grund verwende ich es im Allgemeinen
///
und werde es für die restlichen Beispiele in dieser Antwort verwenden.Blockelemente
Überschrift:
oder
Unterüberschrift:
oder
Horizontale Regel:
Ungeordnete (mit Aufzählungszeichen versehene) Listen:
Sie können auch
+
oder*
für ungeordnete Listen verwenden, es muss nur konsistent sein.Geordnete (nummerierte) Listen:
Codeblöcke:
Eine Einrückung von mindestens vier Leerzeichen ist erforderlich.
Inline-Elemente
Schwerpunkt (kursiv):
Stark (fett):
Beachten Sie, dass Sie keine Sternchen (
*
) und Unterstriche (_
) für dasselbe Element mischen können .Inline-Code:
Links:
Bilder:
Die URL kann entweder eine Web-URL (mit "http: //") oder eine absolute Dateipfad-URL sein (ich kann anscheinend keine relativen Dateipfade zum Laufen bringen).
Die URLs für Links und Bilder können auch vom Inline-Element getrennt werden, um alle URLs an einem verwaltbaren Ort zu speichern:
Schlüsselwörter
Zusätzlich zur Markdown-Formatierung erkennt Xcode andere Markup-Schlüsselwörter, die in der Schnellhilfe prominent angezeigt werden. Diese Markup-Schlüsselwörter haben meistens das Format
- <keyword>:
(die Ausnahme istparameter
, dass auch der Parametername vor dem Doppelpunkt enthalten ist), wobei das Schlüsselwort selbst mit einer beliebigen Kombination von Groß- / Kleinbuchstaben geschrieben werden kann.Schlüsselwörter für Symbolabschnitte
Die folgenden Schlüsselwörter werden im Hilfe-Viewer unter dem Abschnitt "Beschreibung" und über dem Abschnitt "Deklariert in" als markante Abschnitte angezeigt. Wenn sie enthalten sind, wird ihre Reihenfolge wie unten gezeigt festgelegt, obwohl Sie sie in beliebiger Reihenfolge in Ihre Kommentare aufnehmen können.
Die vollständig dokumentierte Liste der Abschnittsschlüsselwörter und ihrer Verwendungszwecke finden Sie im Abschnitt Symbolabschnittsbefehle der Markup-Formatierungsreferenz .
Alternativ können Sie jeden Parameter folgendermaßen schreiben:
Symbol Beschreibung Feldschlüsselwörter
Die folgende Liste von Schlüsselwörtern wird im Hauptteil des Abschnitts "Beschreibung" des Hilfe-Viewers als Fettdruck angezeigt . Sie werden in der Reihenfolge angezeigt, in der Sie sie schreiben, wie im Rest des Abschnitts "Beschreibung".
Die vollständige Liste stammt aus diesem ausgezeichneten Blog-Artikel von Erica Sadun. Weitere Informationen finden Sie in der vollständig dokumentierten Liste der Schlüsselwörter und ihrer Verwendungszwecke im Abschnitt "Befehle für Symbolbeschreibungsfelder" der Markup-Formatierungsreferenz .
Zuschreibungen:
Verfügbarkeit:
Ermahnungen:
Entwicklungsstand:
Implementierungsqualitäten:
Funktionale Semantik:
Querverweis:
Dokumentation exportieren
HTML-Dokumentation (die Apples eigene Dokumentation nachahmt) kann mithilfe von Jazzy , einem Open-Source-Befehlszeilenprogramm , aus Inline-Dokumentation generiert werden .
Konsolenbeispiel aus diesem NSHipster-Artikel
quelle
/// - todo: keyword
myOtherMethod(param1:)
für erweiterte Funktionalität"/// - Tag: otherMethod
und[otherMethod](x-source-tag://otherMethod)
. Weitere Einzelheiten finden Sie in meiner Antwort .Hier sind einige Dinge, die für die Dokumentation von schnellem Code in Xcode 6 funktionieren. Es ist sehr fehlerhaft und empfindlich gegenüber Doppelpunkten, aber es ist besser als nichts:
Das Obige wird in der Schnellhilfe wie erwartet mit formatierten numerischen Listen, Aufzählungszeichen, Parameter- und Rückgabewertdokumentation gerendert.
Nichts davon ist dokumentiert - reichen Sie ein Radar ein, um ihnen weiterzuhelfen.
quelle
reStructuredText
.///
zwischen einem erklärenden Text und den Zeilen:param:
oder eine leere Kommentarzeile ( ) erforderlich ist:returns:
. Wenn Sie dies weglassen, nimmt XCode (6.1.1 zum Zeitpunkt des Schreibens) die Parameterhilfe in den Hauptteil der Funktionsbeschreibung auf.Neu in Xcode 8 können Sie eine solche Methode auswählen
Drücken Sie dann
command
+option
+/
oder wählen Sie "Struktur" - "Dokumentation hinzufügen" aus dem Xcode-Menü "Editor". Daraufhin wird die folgende Kommentarvorlage für Sie generiert:quelle
Swift enthält "///" Kommentarbehandlung (obwohl wahrscheinlich noch nicht alles).
Schreiben Sie so etwas wie:
Dann klicken Sie bei gedrückter Wahltaste auf den Funktionsnamen und voilà :)
quelle
Ich kann bestätigen, dass ShakenManChild eine Lösung für Menschen bereitgestellt hat
Stellen Sie einfach sicher, dass Sie eine leere Zeile unter der Beschreibung haben!
quelle
Ja. Basis gemeinsam (ich habe Schnipsel dafür mit Obj-C-Äquivalent gemacht)
Ziel c:
Schnell
quelle
Wenn Sie nur Swift verwenden, ist Jazzy einen Blick wert.
https://github.com/realm/jazzy
quelle
Ich habe etwas Interessantes gefunden, indem ich in der Xcode-Binärdatei gegraben habe. Dateien mit dem Ende
.swiftdoc
. Es enthält definitiv Dokumente, da diese Dateien die Dokumente für die Swift UIKit / Foundation-API enthalten. Leider scheint es sich um ein proprietäres Dateiformat zur Verwendung im Documentation Viewer in Xcode zu handeln.quelle
Im Xcode-Editor -> Struktur -> Dokumentation hinzufügen.
quelle
Jazzy kann dabei helfen, eine schöne Dokumentation im Apfelstil zu erstellen. Hier ist eine Beispiel-App mit Details zur schnellen Verwendung und Konfiguration.
https://github.com/SumitKr88/SwiftDocumentationUsingJazzy
quelle
Vielleicht ist es eine gute Idee, ein Auge auf AppleDoc oder Apples eigenen HeaderDoc zu werfen, der nicht sehr erkannt wird. Ich kann immer noch einige HeaderDoc-Hinweise im 10.9 Mavericks-Terminal (headerdoc2html) finden.
Ich empfehle, das neueste " Was ist neu in Xcode " zu lesen * (nicht sicher, ob es noch unter NDA ist) * Der Link verweist auf die Xcode 5.1-Version, die auch Infos zu HeaderDoc enthält.
quelle
Ab Xcode 5.0 werden strukturierte Kommentare von Doxygen und HeaderDoc unterstützt.
Quelle
quelle
/// This is what the method does.
usw.