Saturday, January 31, 2009

Xcode questions and feature wishes

Things I don't know how to do in Xcode, or that Xcode just doesn't do and should:

• Reindent the entire file? I know you can select text and hit C-Shift-F, that's not quite what I'm talking about. One button, whole file, don't move my cursor. Or even better, just turn on the 'always indent my code' mode so I don't have to spend my time thinking about indentation.

• When I finish with run or debug, switch the Xcode back to project mode from debug mode. Why do I always have to hit C-0?

• Jump through your last N edit locations, across all files? C-q in NetBeans, I use this constantly.

• Move the current selection (or line, if there's no selection) up/down?

• Duplicate the current selection (or line, if there's no selection) up/down?

• Delete the current line? I'm aware that I can hit C-l to select the entire line, and then delete it.

• Select by expressions? One key combo, select my current symbol. One more to expand it to the enclosing expression, etc, and the same thing going the other way. I use this all the time in NetBeans.

• Close all editor windows? Close all closes everything - I just want editor windows to go away, leaving the project window.

• Move to the beginning of the text on a line? I know Cmd-leftArrow moves to character position 0.

• Show line numbers in the gutter? I know the line number is shown next to the filename.

• Show an outline of the current file? I want a navigation pane - show me the methods and fields in the file I'm editing. Xcode has the information - I want the dropdown menu in a pane somewhere that I can see all the time.

• Edit/create properties? Properties are painful right now - you have to touch three different places for a single property.

• Edit/create the signature of a method? Give me one place to edit both the .h and the .m.

• I want vertical editing like TextMate.

• Show me the inheritance tree for the class I'm editing, in a pane. Parents, siblings, children, selectable.

• How do you use the refactoring features without Xcode blowing up? OK, more of a rant than a question. But refactoring crashes Xcode too often - I've stopped using it.

• Refactoring needs to add a 'move' to move methods between classes.

• Transform a method call between all arguments on one line/all arguments on a seperate line.

• In the debugger, if you've set up key value observing on an object, and the object is in an array, you can't see its details. You just get a NSKVONotifying_Whatever object that you can't drill down into. This should be fixed. (If the objects aren't an an array, there's no problem.)

• NSDictionary display in the debugger. There's no way to drill down into an NSDictionary.

• Jump to a method or class. In NetBeans, you hit Cmd-O, and the dialog shows you all the available classes. There's a text box to narrow the list of classes, and you can type #methodName in the box to get methods instead of classes. I use this constantly. [UPDATE - Dan Wright on the Seattle Xcoders mailing list pointed out Cmd-shift-D - very handy]

• Better support for code coverage.  Hunting around for *.gcda files isn't a great user experience.

No comments: