My single biggest problem with Xcode is that it is worse than Eclipse. And I'm not praising Eclipse when I say that.
Some random examples:
* If I hover over a symbol nothing happens. I would expect a tooltip saying what the type is at a minimum
* If I click on a symbol then it gets a dotted underline and then hover exposes a down arrow. The choices are then "Edit All in Scope", "Search With Google", "Add to iTunes as a Spoken Track". WTF? How about also having "goto definition", "show uses"?
* Browsing symbols often takes me to their definition rather than implementation
* No reformatting functionality. It can re-indent all lines, but nothing else such as ensuring consistent spacing (eg around punctuation, between methods), brace consistency or anything else that helps comply with various styleguides.
* Switching between devices and emulators is painful and takes far too many clicks
* Adding frameworks to a project is huge pain and non-intuitive. Google claims over a million search results on this topic which is non-intuitive. (For non-Apple folk a framework in this case is like a system library you want to link against - eg for audio functions)
* Downloading sucks (eg point releases like 4.5.1 to 4.5.2) require 1.6GB downloads. The last download it insisted on doing it twice and then Xcode locked up preventing the second upgrade so I had to reboot the machine.
* Even though I installed the iOS 6 simulator earlier using Xcode it now doesn't show up in the preferences for downloads, but other simulators do. The iOS 6 simulator does show up in the scheme editor so it is there. Am I never going to get updates?
* This applies to Eclipse too, but Apple should have done better. There is always a complex set of new names trying to define what you are working on and how it is grouped. Apple's fun terms are scheme, product, project, workspace, target and group.
Debugger examples:
* Debugger chooses what symbols to show and sometimes excludes ones of interest like on the line currently in the debugger
* An expression evaluator I could never find to be particularly useful
* When strings are wider than the pane they get truncated, do not show up in a tool tip and can't be scrolled
* If you copy the string to the clipboard it doesn't copy the text instead something like "(NSCFString*) 0x89743242"
Some random examples:
* If I hover over a symbol nothing happens. I would expect a tooltip saying what the type is at a minimum
* If I click on a symbol then it gets a dotted underline and then hover exposes a down arrow. The choices are then "Edit All in Scope", "Search With Google", "Add to iTunes as a Spoken Track". WTF? How about also having "goto definition", "show uses"?
* Browsing symbols often takes me to their definition rather than implementation
* No reformatting functionality. It can re-indent all lines, but nothing else such as ensuring consistent spacing (eg around punctuation, between methods), brace consistency or anything else that helps comply with various styleguides.
* Switching between devices and emulators is painful and takes far too many clicks
* Adding frameworks to a project is huge pain and non-intuitive. Google claims over a million search results on this topic which is non-intuitive. (For non-Apple folk a framework in this case is like a system library you want to link against - eg for audio functions)
* Downloading sucks (eg point releases like 4.5.1 to 4.5.2) require 1.6GB downloads. The last download it insisted on doing it twice and then Xcode locked up preventing the second upgrade so I had to reboot the machine.
* Even though I installed the iOS 6 simulator earlier using Xcode it now doesn't show up in the preferences for downloads, but other simulators do. The iOS 6 simulator does show up in the scheme editor so it is there. Am I never going to get updates?
* This applies to Eclipse too, but Apple should have done better. There is always a complex set of new names trying to define what you are working on and how it is grouped. Apple's fun terms are scheme, product, project, workspace, target and group.
Debugger examples:
* Debugger chooses what symbols to show and sometimes excludes ones of interest like on the line currently in the debugger
* An expression evaluator I could never find to be particularly useful
* When strings are wider than the pane they get truncated, do not show up in a tool tip and can't be scrolled
* If you copy the string to the clipboard it doesn't copy the text instead something like "(NSCFString*) 0x89743242"