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?
4 answers
Oto przykład wszystkich opcji, które znalazłem od Xcode 5.0.2
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:
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:
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).
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
*/
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.
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
.
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