EiffelStudio 6.1 and external commands

by Emmanuel Stapf (modified: 2007 Oct 22)

A new feature of the 6.1 release of EiffelStudio appears in the Console tool. Basically in addition of what you could do before, you can also insert the following:

  1. {A}
  2. @{A}
  3. {A}.f

where A is an Eiffel class and f a feature of A.

The meanings are:

  1. {A}: location of a file containing a copy of the text of class A.
  2. @{A}: location of a file containing a copy of the selected text of class A in the editor, an empty file if nothing is selected or if A is not open in the editor.
  3. {A}.f: location of a file containing a copy of the text of feature {A}.f.

With this you can do very interesting stuff such as comparing features. Let's use your favorite diff tool being it windiff, diff, gvim -d, .... Now you can simply type:

diff {STRING_32}.copy {STRING_8}.copy

and see that they are identical, or :

diff {STRING_32}.fill_character {STRING_8}.fill_character

and see they only differ in the type of the argument.

With the @ feature, you can refactor some code, compare portion of the code with some other portions and see the differences to make sure they are what you expect them to be.

Of course, you are free to invent other usage for this feature and if you do, please post a comment here.

And as a bonus, you also get code completion for the name of classes and features.

  • Patrick Ruckstuhl (9 years ago 25/10/2007)

    Are you thinking about making it possible to export and import those commands? I think it would be great if you could kind of a repository of useful commands (e.g. for svn, tortoisesvn, ...), maybe some could even be directly integrated in the downloaded version.