Friday, May 19, 2017

Xcode Autocomplete Frustrations

Erica Sadun:

A year after it debuted, Xcode’s enhanced autocomplete features continue to struggle with overly liberal matches[…]

[…]

Successful autocompletion promotes good matches and discards inappropriate ones. “upper“ should score high on CFStringUppercase and low on CGScreenUpdateOperation and CSSMERR_TP_INVALID_CERTGROUP_POINTER.

That’s not the only problem with autocomplete. Image literal completion is a big problem. Xcode often prioritizes images over code APIs. When starting to type “picker”, Xcode should not suggest “picture-of-lovely-cat”.

Every time I create a new variable in Swift (i.e. type let, space, and then a letter), Xcode gives me a useless list containing only names of images. Not only do I never want these—I use methods/properties to access my images rather than hard-coding strings in multiple places—but an image would not even be valid at that source location.

1 Comment RSS · Twitter

Ben Kennedy

In my experience, the overzealous and maddening autocomplete is most egregious in the debugger console. The LLDB interpreter does its damndest to replace whatever symbol I'm trying to type with something else. In order to properly express a variable or property, I'm usually forced to hit backspace or escape or something a couple times and finish manually typing out the entire symbol name.

There used to be a preference setting for controlling the delay after which the autocomplete window would appear, but I can't find it anymore. (Xcode 8.3.2.)

Autocomplete handling was much more sane in earlier versions of Xcode.

Leave a Comment