links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Last updated at 2:35 am UTC on 26 March 2017
Note: The FileContentsBrowser developed by Andreas Raab has been incorporated into Squeak (as of 2.3 or so). To use it, simply bring up a FileList window (open.../file list), select a source code file or changeset (ending in .cs or .st), and select "browse code" from the pop-up menu.


The class browser is a great tool, but it cannot now be used to give a "structured view" on a (syntactically correct) Smalltalk source code file. That's exactly what the FileContentsBrowser does.

It just scans the file, and you can browse the file's classes and methods _without_ having to actually install it. You can browse classes, methods, and comments just like in a real class browser. Even better, you can rename/remove/reorganize everything, and once you're done you can either file it in (i.e., install it) or file it out again for later work.


How to use it: open a NEW FileList and select browse selected file(s) from it. If you have selected a file, it will just browse that one file. If you haven't selected a file, then you can give a pattern for the files from the current directory.

Screen shots

Here are some images showing the appearance of the FileContentsBrowser, and some of its features. You may also visit the FileContentsBrowserLargeImages page: I didn''t want to include large pictures on this page.

http://isgwww.cs.uni-magdeburg.de/~raab/fcb/DoIts2.gif External Image

A browser on one file (left), and on multiple files (right). Note that the edit pane contains all doIts not yet processed. If you do any operation on the entire package (i.e., fileIn or fileOut) then you are asked how to handle these doIts.

http://isgwww.cs.uni-magdeburg.de/~raab/fcb/MethodDiffs2.gif External Image

The above two images show differences in extant methods or classes. The left image shows the basic formatting rules for methods. Red lines show things to be added by the package, striked lines show things to be removed. The right image shows the same for a class definition. In class definitions, the differences are shown based on single tokens (e.g., instance variables) and not entire lines.

Andreas Raab

See also