Hi,
here's a situation I'm facing quite often: I'm reading the code of a method in the browser and need to see how the method with the same selector looks like in another class (in particular, in the same class hierarchy). In some IDEs, it's simply a matter of selecting another class. If such a method exists, it is displayed. Not so in Pharo: clicking on a class always displays its definition. Is there a way to get this behavior? Greetings Raffaello |
Raffaello,
not sure if it really is what you want, but why not instead of clicking on another class search for implementors of the method you are currently browsing? Joachim Am 14.03.17 um 13:56 schrieb Raffaello Giulietti: > Hi, > > here's a situation I'm facing quite often: I'm reading the code of a > method in the browser and need to see how the method with the same > selector looks like in another class (in particular, in the same class > hierarchy). In some IDEs, it's simply a matter of selecting another > class. If such a method exists, it is displayed. > > Not so in Pharo: clicking on a class always displays its definition. > > Is there a way to get this behavior? > > Greetings > Raffaello > > > -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:[hidden email] Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 |
In reply to this post by raffaello.giulietti
> On 14 Mar 2017, at 13:56, Raffaello Giulietti <[hidden email]> wrote: > > Hi, > > here's a situation I'm facing quite often: I'm reading the code of a method in the browser and need to see how the method with the same selector looks like in another class (in particular, in the same class hierarchy). In some IDEs, it's simply a matter of selecting another class. If such a method exists, it is displayed. > For the class hierarchy, you can clock on the arrow on the left to jump to the method that up or down in the class hierarchy. Marcus |
In reply to this post by raffaello.giulietti
If the same method is implement in the same class hierarchy, you will
see a small green triangle close to the method name in order to browse overriden methods. If the method is implemented in other classes, you can browse the implementors. Regards, On Tue, Mar 14, 2017 at 1:56 PM, Raffaello Giulietti <[hidden email]> wrote: > Hi, > > here's a situation I'm facing quite often: I'm reading the code of a method > in the browser and need to see how the method with the same selector looks > like in another class (in particular, in the same class hierarchy). In some > IDEs, it's simply a matter of selecting another class. If such a method > exists, it is displayed. > > Not so in Pharo: clicking on a class always displays its definition. > > Is there a way to get this behavior? > > Greetings > Raffaello > > -- Serge Stinckwich UCN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/ |
In reply to this post by jtuchel
If you know that the method you are currently looking at is implemented
in other classes in the same hierarchy, it would be quicker to simply click on a class in the "Hier." class pane. Besides, the search for implementors opens a new window, as if there were not enough of them around already ;-) On 2017-03-14 13:58, [hidden email] wrote: > Raffaello, > > not sure if it really is what you want, but why not instead of clicking > on another class search for implementors of the method you are currently > browsing? > > Joachim > > Am 14.03.17 um 13:56 schrieb Raffaello Giulietti: >> Hi, >> >> here's a situation I'm facing quite often: I'm reading the code of a >> method in the browser and need to see how the method with the same >> selector looks like in another class (in particular, in the same class >> hierarchy). In some IDEs, it's simply a matter of selecting another >> class. If such a method exists, it is displayed. >> >> Not so in Pharo: clicking on a class always displays its definition. >> >> Is there a way to get this behavior? >> >> Greetings >> Raffaello >> >> >> > > |
In reply to this post by raffaello.giulietti
Hi Raffaello. It works in Calypso like you describe. Also in Calypso you can easily toggle inherited methods visibility and all local implementors will be shown in single method pane. 2017-03-14 13:56 GMT+01:00 Raffaello Giulietti <[hidden email]>: Hi, |
In reply to this post by SergeStinckwich
That's true if there are no other icons already, like "Browse the trait"
which seems to hide the up or down triangle. And the triangle can only recover the direct re-implementation up or down the hierarchy. On 2017-03-14 14:02, Serge Stinckwich wrote: > If the same method is implement in the same class hierarchy, you will > see a small green triangle close to the method name in order to browse > overriden methods. If the method is implemented in other classes, you > can browse the implementors. > > Regards, > > On Tue, Mar 14, 2017 at 1:56 PM, Raffaello Giulietti > <[hidden email]> wrote: >> Hi, >> >> here's a situation I'm facing quite often: I'm reading the code of a method >> in the browser and need to see how the method with the same selector looks >> like in another class (in particular, in the same class hierarchy). In some >> IDEs, it's simply a matter of selecting another class. If such a method >> exists, it is displayed. >> >> Not so in Pharo: clicking on a class always displays its definition. >> >> Is there a way to get this behavior? >> >> Greetings >> Raffaello >> >> > > > |
In reply to this post by SergeStinckwich
Small pet peeve about this one: does not work if there is another icon with higher priority on the method (and debug method invocation is one of those, putting a reddish indicator) --> we should have a way to keep the arrows even if there are other indicators. Tests are also like this, <script>, class initialization with <script> come to mind. Phil On Tue, Mar 14, 2017 at 2:02 PM, Serge Stinckwich <[hidden email]> wrote: If the same method is implement in the same class hierarchy, you will |
In reply to this post by raffaello.giulietti
Agreed with you.
I hope that calypso will address such problems. > Hi, > > here's a situation I'm facing quite often: I'm reading the code of a > method in the browser and need to see how the method with the same > selector looks like in another class (in particular, in the same class > hierarchy). In some IDEs, it's simply a matter of selecting another > class. If such a method exists, it is displayed. > > Not so in Pharo: clicking on a class always displays its definition. > > Is there a way to get this behavior? > > Greetings > Raffaello > > -- Using Opera's mail client: http://www.opera.com/mail/ |
In reply to this post by raffaello.giulietti
On 14/03/17 14:11, Raffaello Giulietti wrote:
> If you know that the method you are currently looking at is implemented > in other classes in the same hierarchy, it would be quicker to simply > click on a class in the "Hier." class pane. > > Besides, the search for implementors opens a new window, as if there > were not enough of them around already ;-) No indeed. Single window IDEs work ok-ish on a small-screen laptop, but are terrible on modern development machines with large screens. The idea that the IDE designer can know statically what information I need to look at to solve my code problems is in the SF/research area at the moment. I am much more productive organizing those building blocks myself (and would definitely want keyboard support for that). Double-click selector ctrl-m suffers from being good enough. Showing the code of the other implementations in-place does not solve your problem, which is that you want to compare the implementations. You need a dual/diff view for that. Stephan |
I am using TWM - Tiling Window Manager to put windows side by side properly when comparing things like that. I am using that all the time. Need to fix the shortcuts because I have to mouse around a bit too much at the moment. I was thinking of adding windows sizing and placement icons in SystemWindow top bar. In fact I want to have a kind of SystemWindow title bar plugin system for adding all kinds of stuff there. And then an optional bottom bar and maybe side bars... I somewhat managed to get the concept working in a prototype and realized there is quite some stuff to refactor to get things clean. Maybe this will be a feature for TWM on Pharo6. Phil Le 15 mars 2017 07:36, "Stephan Eggermont" <[hidden email]> a écrit : On 14/03/17 14:11, Raffaello Giulietti wrote: |
Free forum by Nabble | Edit this page |