Nothing’s perfect. XCode is kind of usable but there are ways it could be greatly improved. Instead of posting a rant, I have decided to structure my requests a little and share them with you.

__________________________________________________________________

If you like this article

You’re an XCode user. You agree that this stuff is important.
Feel free to paste this article on your blog and submit bug reports / enhancement requests.
Duplicates help developers understand what is important to their users.

__________________________________________________________________

1. XCode should have a feedback button in the Help menu

We are power users. We know what we want. We know what we need. If I want to provide feedback about XCode I have to poke around the Apple site for ages, fill in forms, and finally ask myself whether it is a bug, an enhancement request or ‘none of the above’ that I want to file.

XCode users are worth money to Apple. Let us help you improve our IDE.

2. Creating and deleting files is slow and error prone

The file creation wizard should guess which folder we want to put a file in using the folder files in the same group are located in. I don’t know how the default location to create a file is determined, I just know it doesn’t do that. So I regularly find misplaced files.

XCode regularly bails out when trying to delete files; typically this happens because it gets confused about what to delete when the file is under version control. Please improve. Additionally, it is rare that somebody wants to delete an *.h file or *.m file without deleting the counterpart. No assistance provided. Please improve.

3. There is no way (I know of) that a ‘folder reference’ can work with source files

… and if there is one, discovering it should be a breeze.

Massive bummer. You can’t create an XCode project integrating a third party library without updating the list of source files yourself. Whenever the guys who make the library add or remove a file, you have to update the project manually.

The last time I tried using the ‘blue folders’ (the ones that track content automatically) to include source files, the sources were simply ignored by the compiler.

4. Auto-completion doesn’t recognize the header path

Objective C encourages verbose, literate function names. Auto-completion is important to XCode users. Given problem (3), adding the library headers to a project only works when the library is ultra-stable. Otherwise we end up having to re-add the headers on a regular basis.

Whenever adding a static library, XCode should help us locate public headers and sort these annoyances for us.

5. Typing is slow. Indexing is slow. Opening a project is slow

I love my mac; not the next mac. My mac. There’s no reason on blooming ancient earth that a dual-core computer couldn’t handle a weeny bunch of strings and let us input code at the speed of type. My mac is 24 months old, looks brand new and does everything well except running XCode 4.0.2.

6. Provide an option to hide definition/declaration files from the project navigator.

A tri-state button would sit nicely at the bottom of the project navigator along with custom and time based filters. The custom filter can sort of do it but it’s too awkward for such use – if anything it’s expanding the whole workspace recursively.

On this note, the ‘related files’ button in the code window is a poor substitute for the XCode 3 counterparts toggle. It’s cartesian. It’s complex. It’s 2 clicks versus 1. It’s a gimmick overriding a much needed shortcut.

Nor is the ‘assistant view’ quite solving the problem either.

The assistant view is this wacky widget that puts your .h file on the right, puts it on the left, then locks over something ‘altogether different’ that we inadvertently requested. It’s nice to have but for now it is convoluted and forever after it’s dependent on having a lot of screen space.

7. Adding a group causes the project navigator viewport to reset

This is a bug. It’s annoying and distracting. Please fix it.