Xcode 5.0.2: Needs Smalltalk/CodeWarrior-style class browser

Originator:kusterer
Number:rdar://15910665 Date Originated:26-Jan-2014 12:29 PM
Status:Open Resolved:
Product:Developer Tools Product Version:Xcode 5.0.2 (5A3005)
Classification:Feature (New) Reproducible:Not Applicable
 
CodeWarrior and SmallTalk both have amazing class browsers. Xcode had one, too (back to the Project Builder days, I think), but it was unusable. It would be great if you could re-introduce a class browser. To make sure it works this time, maybe the following article I found on the net could be helpful in setting priorities:

http://www.artima.com/weblogs/viewpost.jsp?thread=158259

In particular, the old Xcode class browser fell flat in regard to:

1) Speed: Took ages to open, no working type-ahead selection, view switching completely lost whatever class you had selected, so you had to go locate it *again*.

2) Navigation: If I'm looking for a class whose name I don't remember, but I remember a peer of it, I need to be able to filter for that class, then navigate to the superclass, then find the other subclass under its entry. So one has to be able to sort, filter, type-ahead-select, collapse/uncollapse a class in myriad ways, without using one's place (as indicated by the selection).

3) Editing: There was no provision for editing in it at all. You could open the source file for a class, that was all.

4) Name display: I don't remember the details, but I vaguely remember Xcode's class browser had the habit of truncating display of names at the most inopportune offsets, particularly for C++ things ("std::s…" geez, that's helpful), and using fully-expanded names (i.e. turning typedefs into their base types?).

Uli Kusterer26-Jan-2014 06:08 PM

In case you're wondering what this would be useful for, for me the main use case would be project navigation, without having to manually arrange stuff in the Project Navigator. Instead, it'd take advantage of the class hierarchy the source code specified.

In particular, I often know the base class's name, and know that I'm looking for one of its subclasses, or know one subclass's name, and need to find another subclass of the same base class. The idea here is that it basically lets me browse classes (both flat and hierarchically arranged, both subclasses to base classes or the other way round), filter the list of classes (not unlike the current 'Open Quickly' window, and definitely at least that fast)

It's also handy for adding a new method to a base class and then going over all subclasses to implement it there without having to dig them out of the project navigator. And of course it'd have to work with C ("class" would be the file or HeaderDoc documentation group), C++ and ObjC++ as well as ObjC.

An additional bonus would be if it got integrated with the documentation (but only if it stays *fast*, otherwise it's useless!) so I can discover the classes in a new (are of a) project side by side with any documentation comments the author included (or SDK docs you guys come up with).

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!