Search code examples
objective-ciosxcodexcode4intellisense

Xcode intellisense meaning of letters in colored boxes like f,T,C,M,P,C,K,# etc


Recently, I have started using Xcode 4 for developing iOS apps.

In Xcode intellisense's autocomplete box, there are some letters in colored boxes before every suggestion. I know that they represent the property of the word we are typing like f,T,C,M,P,C,K,# etc. enter image description here

Is there some kind of glossary available to find their quick meanings?

Meanings of f,C,T,# are understandable (function, class etc) but there are many others which I dont know. I assume these letters are standard across all IDEs like Visual Studio, Netbeans etc. Correct me if I am wrong.

Please suggest.


Solution

  • In Xcode this is called "Code Sense". And these icons also exist in Xcode 3. These icons are also used in symbol navigation.

    Red: macros

    • # = macro (think #define)

    Brown: Core Data / namespace

    • C = modeled class
    • M = modeled method
    • P = modeled property

    • N = C++ namespace

    Orange: aliased types

    • C with underscore = Objective-C category
    • E = enum
    • T = typedef / typealias
    • Ex = Swift extension

    Green: variables

    • B = binding
    • f = function
    • F = field
    • K = constant
    • L = local variable
    • O = IBOutlet
    • V = variable (can be ivar, global var, local var, etc.)
    • x = parameter (think f(x))

    Blue: methods

    • A = IBAction
    • M = method
    • P = property

    Purple: aggregate types

    • C = class (Objective-C, Swift or C++)
    • CE = class extension
    • Pr = Objective-C/Swift protocol
    • S = struct
    • U = union

    Gray: snippets

    • {} = snippets

    Icons: #pragma mark or comments

    • Flag = !!!: ...
    • Patch = FIXME: ...
    • ? = ???: ...
    • Items = TODO: ...
    • List = MARK: ...

    You should be able to look up the meanings from the filenames from /Developer/Library/PrivateFrameworks/DVTFoundation.framework/Resources/Xcode.SourceCodeSymbolKind.*.Icon.tiff*.

    In later versions of Xcode, the path is moved to /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Resources/Assets.car, see Analysing Assets.car file in IOS on how to extract the images from the *.car