I'm a big fan of Xcode3. Xcode4 is a step in the right direction for me, though. Not so much as it would be when I started with Mac and iOS development, but still, it's ok.
However, there are large omissions and important bugs that are heavily influencing my productivity.
- Removed Right-click, Find In Documentation. (Update on April 1st 2011, 16:42 CET: Alt+left-click is a replacement for this.)
- Removed Command+shift+up to switch between header and source. Assistant views are not a replacement since I work on Macbook, which doesn't have all that much screen real-estate, especially, when you have the File Navigator on the left. (Update on July 12th 2011, 16:21 CET: Use Ctrl+cmd+up, or three-fingers-down-to-up touchpad gesture.)
- No ability opening multiple Get Info dialogs on the screen for different project Targets. In fact, Get Info was removed and replaced with (admittedly superior) way of editing build settings.
- When autocomplete lists tons of options, Page-down (Fn+Down) does not work. That's right, you can't scroll over a screenful of symbols at a time.
- Command+shift+b has been reassigned to … get this … Build & Analyze. Ok, that needed a shortcut (maybe), but Command+shift+b used to be the shortcut to open "build progress" output dialog.
- Build progress is now assigned a navigator; that is, hit Command+7 to get it. However… the Editor view does not automatically focus on latest build progress and.
- Closely related to previous item: there is no obvious shortcut for switching focus between Editor and Navigator. I really want to quickly choose a file, to quickly choose a build log, and to quickly choose an issue from the list. While this is not something that used to exist in Xcode3 (or at least I couldn't find it) it is still something that would be highly useful. Open Quickly – Command+Shift+O – is not a substitute.
- I really miss the old "Groups & Files" view. Not a big deal, but having that as an alternative to the new Navigators view would be excellent.
- While autocomplete got even better, Command+doubleclick is extremely dumbed down and cannot guess that in
[[NSString alloc] initWithString:@"something"];attempting to find
initWithStringin header probably means
-initWithString:, right? Well, if you have another
initWithString:in another class, Xcode4 will ask you which one you refer to (despite
[NSString alloc]being declared to return
NSString, thus there being no dillema whose
-initWithString:needs to be used).
- Despite introducing tabs, they are next to useless: hard to open, and with no obvious keyboard shortcuts to switch tabs or close tabs.
- added March 18 2011, 14:12 Oh. Right-click, Add Files to "projectname.xcodeproj" does not take into account parent group path anymore. That means, despite configuring that pesky
Window Systems/iOSgroup to point to path "relative to group" and pointing to "windowsystem/iOS" filesystem folder, Add Files dialog will no longer default to that folder. Meaning I nevertheless have to dig around the filesystem to find the relevant files.
- added March 18 2011, 14:40 You can no longer easily access full path to a currently open file by right-clicking on the titlebar. This is important in case error log refers to system-wide installed header file, which you go and happily change without affecting header file that you should be changing — the one in a subproject.
These are just some omissions that significantly reduce my productivity compared to Xcode3. I sincerely hope they will be patched by Apple, otherwise I'll simply have to do without them. There's no other way: iOS devs (and to some extent Mac devs) are hostages of the latest SDK which ships only with the latest IDE.