Jakie są nowe polecenia dokumentacji dostępne w Xcode 5? [zamknięte]

Jedną z nowych funkcji Xcode 5 jest możliwość dokumentowania własnego kodu za pomocą specjalnej składni komentarza. Format jest podobny do Doxygen, ale wydaje się, że obsługuje tylko podzbiór tych funkcji .

Które polecenia są obsługiwane, a które nie?
Czy którekolwiek z ich zastosowań różni się od Doxygen?

Author: Senseful, 2013-10-04

4 answers

Oto przykład wszystkich opcji, które znalazłem od Xcode 5.0.2

Tutaj wpisz opis obrazka

Wygenerowano tym kodem:

/** First line text.

 Putting \\n doesn't create a new line.\n One way to create a newline is by making sure nothing is on that line. Not even a single space character!

 @a Italic text @em with @@a or @@em.

 @b Bold text with @@b.

 @p Typewritter font @c with @@p or @@c.

 Backslashes and must be escaped: C:\\foo.

 And so do @@ signs: user@@example.com

 Some more text.
 @brief brief text
 @attention attention text
 @author author text
 @bug bug text
 @copyright copyright text
 @date date text
 @invariant invariant text
 @note note text
 @post post text
 @pre pre text
 @remarks remarks text
 @sa sa text
 @see see text
 @since since text
 @todo todo text
 @version version text
 @warning warning text

 @result result text
 @return return text
 @returns returns text


 @code
// code text
while (someCondition) {
    NSLog(@"Hello");
    doSomething();
}@endcode
 Last line text.

 @param param param text
 @tparam tparam tparam text
 */
- (void)myMethod {}

Uwagi:

  • komendy muszą być w /** block */, /*! block */, lub przedrostkiem /// lub //!.
  • komendy działają z @ (headerdoc style) lub \ (przedrostek doxygen style). (Tj. @b i \b oba robią to samo.)
  • komendy zwykle pojawiają się przed przedmiot, który opisują. (Tzn. jeśli próbujesz udokumentować właściwość, komentarz musi pojawić się przed tekstem @property.) Mogą przyjść później, na tej samej linii, z /*!<, /**<, //!<, ///<.
  • możesz dodać dokumentację do klas, funkcji, właściwości, zmiennych i .
  • wszystkie te polecenia są wyświetlane w ciemnozielonym tekście, co oznacza, że są poprawnymi poleceniami, z wyjątkiem @returns.
  • może być konieczne zbudowanie projektu (lub ponowne uruchomienie Xcode) zanim pojawią się najnowsze zmiany w dokumentacji.

Gdzie zobaczyć dokumentację:

1. Podczas wypełniania kodu zobaczysz krótki tekst:

Tutaj wpisz opis obrazka

Wyświetli krótki tekst( bez formatowania); jeśli nie istnieje krótki tekst, pokaże konkatenację całego tekstu aż do pierwszego bloku@; jeśli żaden nie istnieje (np. zaczynasz od @return), To połączy cały tekst, usuwając wszystkie polecenia@.

2. Opcja-kliknięcie na nazwa identyfikatora:

Tutaj wpisz opis obrazka

3. W panelu Quick Help Inspector

(zobacz pierwszy zrzut ekranu.)

4. In Doxygen

Ponieważ polecenia w Xcode 5 są kompatybilne z Doxygen, możesz pobrać i użyć Doxygen do generowania plików dokumentacji.

Inne Uwagi

Aby uzyskać ogólne wprowadzenie do Doxygen i jak dokumentować Kod Objective-C, ta strona wydaje się dobrym źródłem informacji.

Opisy niektórych z obsługiwane polecenia:

  • @brief: wstawi tekst na początku pola opisu i jest to jedyny tekst, który pojawi się podczas uzupełniania kodu.

Poniższe nie działają:

  • \n: nie generuje nowej linii. Jednym ze sposobów na utworzenie nowej linii jest upewnienie się, że nic nie znajduje się na tej linii. Ani jednego znaku spacji!
  • \example

Poniższe nie są obsługiwane (nie pojawiają się nawet w ciemności zielony):

  • \ cite
  • \docbookonly
  • \enddocbookonly
  • \ endinternal
  • \endrtfonly
  • \endsecreflist
  • \idlexcept
  • \mscfile
  • \ refitem
  • \relatedalso
  • \ rtfonly
  • \secreflist
  • \ short
  • \ snippet
  • \tableofcontents
  • \vhdlflow
  • \~
  • \"
  • .
  • ::
  • \|

Apple reserved słowa kluczowe:

Apple używa tego, co wydaje się być zarezerwowanymi słowami kluczowymi, które działają tylko w ich dokumentacji. Chociaż pojawiają się w ciemnozielonym kolorze, wygląda na to, że nie możemy ich używać tak, jak Apple. Przykłady użycia Apple można zobaczyć w plikach takich jak AVCaptureOutput.h.

Oto lista niektórych z tych słów kluczowych:]}
  • @ abstract, @availability, @class, @discussion, @deprecated, @method, @property, @protocol, @related, @ ref.

W najlepszym razie słowo kluczowe będzie powoduje utworzenie nowej linii w polu opisu (np. @discussion). W najgorszym przypadku słowo kluczowe i dowolny tekst po nim nie pojawią się w szybkiej pomocy (np. @class).

 405
Author: Senseful,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-04 01:51:13

Swift 2.0 używa następującej składni:

/**
        Squares a number.

        - parameter parameterName: number The number to square.

        - returns: The number squared.
    */

Zauważ jak @param jest teraz - parameter.

Możesz teraz również dołączyć punktory do swojej dokumentacji:

/**
        - square(5) = 25
        - square(10) = 100
    */
 16
Author: Senseful,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-05 20:31:01

Sensowne:

Może być konieczne zbudowanie projektu, zanim pojawią się ostatnie zmiany w dokumentacji.

Czasami to mi nie wystarcza. Zamknięcie Xcode i otwarcie kopii zapasowej projektu zwykle usuwa te przypadki.

Ja też dostaję różne wyniki .pliki h i .pliki M. Nie mogę uzyskać nowych linii, gdy komentarze do dokumentacji są w pliku nagłówkowym.

 8
Author: weezma2004,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-15 22:58:32

Większość formatowania została zmieniona dla Swift 2.0 (od xcode7 ß3, również w ß4)

Zamiast :param: thing description of thing (jak to było w Swift 1.2)

Jest teraz - parameter thing: description of thing

Większość słów kluczowych została zastąpiona przez - [keyword]: [description] zamiast :[keyword]: [description]. Obecnie lista słów kluczowych, które nie działają zawiera, abstract, discussion, brief, pre, post, sa, see, availability, class, deprecated, method, property, protocol, related, ref.

 5
Author: mittens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 05:20:00