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

hiprakhar picture hiprakhar · Jul 12, 2011 · Viewed 24k times · Source

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.

Answer

kennytm picture kennytm · Jul 22, 2011

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