[Newbies] which code browser to use?

Michael van der Gulik mikevdg at gulik.co.nz
Sat May 26 02:33:47 UTC 2007

Nick Ager wrote:

> Hi,
> What are the pros and cons of the different code browsers I see in my
> image (it's based on Damien Cassou's squeak-web-95-2.zip). I see:
> * Browser (appears to be the default)
> * HierarchyBrowser
> * OBSystemBrowser
> * ShoutOmniBrowser
> * eComspletionOmniBrowser
> * Tric-RefactoringBrowser
> * WhiskerBrowser
> * OmniBrowser

It really depends on your preference. Try them; I've been Squeak for 
quite a few years and I've only really ever needed to use the standard 

The Browser and HierarchyBrowser are standard tools in a standard image.

I don't know much about the OmniBrowser, but I think it's an intelligent 
re-design of the standard browser in that it looks the same but works 
much more intelligently under the covers. I think people use it as a 
starting point for developing experimental browsers.

Shout is a package that gives you syntax hilighting, so the 
ShoutOmniBrowser is Shout plus the OmniBrowser.

eCompletion is a package that gives you keyword completion (ala other 
IDEs)... ditto for eCompletionOmniBrowser.

The WhiskerBrowser has a completely different UI - some people swear by it.

The ones I haven't mentioned are the ones I don't know anything about.

> I find myself switching between different browsers and not finding one
> which provides a superset of browsing functionality.I feel must be
> missing a trick. Is there a prefered browser amoungst more experienced
> users?

Again, I just use the standard browser. Personally I'm dissatisfied with 
it because it's completely non-obvious as to how you're meant to use it 
- even after a few years, I still haven't worked out what the "standard" 
way of defining a new method is; usually I just cheat and modify an 
existing method with a new name.

You'll also find that a lot of the functionality you need is done in 
other places in the image. The biggest "Aha!" moment for me was 
discovering alt-n ("find senders of...") and alt-m ("find implementers 
or...") - select text and press those keys.

> How do I register a prefered browser as the default for alt-b and
> tools tab->browser?

I've just had a look in the image. This is what I did:

1. I vaguely recall being asked what "Tool set" I wanted to use at some 
stage, so I opened up my bog-standard browser :-) and tried to find any 
class with the word "Tool" in the name. I saw a class called "ToolSet" 
so I looked at that.

2. "ToolSet" has no instance methods, so I looked at the class methods.

3. This looks like it - there's a method called #browse:selector:, so I 
looked at that. That calls the method "default" which isn't there.

4. Looking for the implementation of "default", I opened up a hierarchy 
browser on ToolSet and looked up the inheritance hiearchy. I found the 
implementation in AppRegistry. That calls "self askForDefault".

5. I look at the implementation of "askForDefault" in the same class. At 
a brief glance, it has UI code in it, so I try calling it:

ToolSet askForDefault.

There you go.


More information about the Beginners mailing list