The Refactoring Browser is a powerful Smalltalk Browser which allows the programmer to perform various automated Refactoringings on Smalltalk source code such as renaming variables and methods.
After installing the right version from SqueakMap, you will have three new options in the open menu -
Feb. 24, 2005: Ned Konz provided some enhancements for the RB (for Squeak 3.8), including a RewriteTool.
It loads on top of the Refactory-md.3.8.12 version from SqueakMap.
His announcement:
I have put a Monticello diff file (against the current SqueakMap version of
Refactory, which is Refactory-md.3.8.12) on my site at:
http://bike-nomad.com/squeak/Refactory-nk.3823.mcd
You will have to load Refactory-md.3.8.12 first.
The big news here is the addition of the RewriteTool, which is like a pressure
washer for code janitors.
It is like the FinderTool in that it lets you search for parse tree (rather
than text) patterns in your code. But it also lets you specify a replacement
pattern. When you say "Replace" it puts up a FileContentsBrowser from which
you can view the proposed changes and load selected methods, classes, or the
entire set of changes.
I have also added the beginnings of a color formatter for the RB, but haven't
finished all the colors yet. You can now use the RB formatter for
pretty-printing tasks throughout the system. I have also improved its
printing of various things, including array literals.
Changes from Refactory-md.3.8.12 to Refactory-nk.3823
added RewriteTool (like FinderTool but you can do search/replace with it)
added lint rule for override of superclass method without calling it.
added lint rule for sending of 'new initialize' and friends
added lint rule for sending a deprecated method to a known global
improved pretty printing (especially for literal arrays, etc.)
added preference for using RB to pretty-print globally
added RB-based color pretty-printing for use in browsers
deprecation fixes: fixed 'super new initialize', 'self beep', etc.
made sure that metaclasses were searched too by lint tool!
misc. bug fixes
changed lint rule for missing super sends to look for #subclassResponsibility in superclass
fixed opening of editor in some cases
sorted class names in RB environment browsers
I am presenting it this way so people can get a chance to use it for a bit.
See also