linea - ¿Qué comentarios de origen reconoce Xcode como etiquetas?
xcode en linea (2)
Esto es principalmente por curiosidad. He sabido por un tiempo que Xcode es capaz de reconocer los comentarios en forma de // TODO: Something I don''t feel like doing now
. Agregar esa línea a la fuente de un archivo hará que ese comentario TODO se muestre en la barra de navegación de Xcode:
También descubrí recientemente que los comentarios del formulario // MARK: Something
pueden lograr el mismo efecto que #pragma mark
algo. Entonces puedo escribir un comentario que se vea así:
// MARK: -
// MARK: Future Improvements:
// TODO: Make something better
// TODO: Fix some bug
Y Xcode lo renderizará así:
Lo que me lleva a preguntarme: ¿hay otros tipos de comentarios que Xcode pueda entender para mejorar la navegación del proyecto?
Parece
// MARK:
// TODO:
// FIXME:
// ???:
// !!!:
todos se traducen en marcadores tipo # pramga.
Parece que representan
// Mark, as in pragma
// To Do note
// Known bug marker
// Serious question about form, content, or function
// Serious concern about form, content, or function
También hay MARK
, FIXME
, !!!
y ???
, p.ej
// FIXME: this bug needs to be fixed
y
// ???: WTF ???
Puede ver dónde se definen en /Applications/Xcode.app/Contents/OtherFrameworks/XcodeEdit.framework/Versions/A/Resources/BaseSupport.xclangspec
(o /Developer/Library/PrivateFrameworks/XcodeEdit.framework/Resources/BaseSupport.xclangspec
para versiones anteriores de Xcode). Es de suponer que también podría agregar sus propias etiquetas aquí si quisiera, pero en realidad no lo he intentado. Aquí está la sección relevante en BaseSupport.xclangspec
:
{
Identifier = "xcode.lang.comment.mark";
Syntax = {
StartChars = "MTF!?";
Match = (
"^MARK:[ /t]+/(.*/)$",
"^/(TODO:[ /t]+.*/)$", // include "TODO: " in the markers list
"^/(FIXME:[ /t]+.*/)$", // include "FIXME: " in the markers list
"^/(!!!:.*/)$", // include "!!!:" in the markers list
"^/(//?//?//?:.*/)$" // include "???:" in the markers list
);
// This is the order of captures. All of the match strings above need the same order.
CaptureTypes = (
"xcode.syntax.mark"
);
Type = "xcode.syntax.comment";
};
},
Estas etiquetas también son compatibles con el editor de texto BBEdit y su hermano freeware TextWrangler .