[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:
> 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
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:
There you go.
More information about the Beginners