Navigation improvements

Fast navigation is one of the core features of Resharper (and hopefuly IDE)
and it is still inconsistent in many cases. Check requests 2585, 2618, 5419,
5440 - they and others show that navigation should be revisited as feedback
and experience is collected.
Besides that invokation scope should be consistent (operate based on entity
under caret), the main problem is to differentiate between implementation
and inheritance.

"goto implementation command" should skip interfaces, abstract classes and
provide navigation to actual code that can be executed; it should work on
events/delegates - goto any known method that could be ever executed when
event fires or delegate called. The opposite command is probably kind of
"goto usage" command - I should be able to query all ways to reach current
method.

"goto base/inheritor" command should include all hierarchy elements for current
member or type. There could be even combined command that shows both base
members and derived members, so that user could see the whole set of related
code.

Those are just ideas and my feelings, probably other people using Resharper
could put some thoughts into this topic as well.

Sincerely,
Ilya Ryzhenkov


4 comments
Comment actions Permalink

Hello Ilya,

Fast navigation is one of the core features of Resharper (and hopefuly
IDE)
and it is still inconsistent in many cases. Check requests 2585, 2618,
5419,
5440 - they and others show that navigation should be revisited as
feedback
and experience is collected.
Besides that invokation scope should be consistent (operate based on
entity
under caret), the main problem is to differentiate between
implementation
and inheritance.
"goto implementation command" should skip interfaces, abstract classes
and provide navigation to actual code that can be executed; it should
work on events/delegates - goto any known method that could be ever
executed when event fires or delegate called. The opposite command is
probably kind of "goto usage" command - I should be able to query all
ways to reach current method.

"goto base/inheritor" command should include all hierarchy elements
for current member or type. There could be even combined command that
shows both base members and derived members, so that user could see
the whole set of related code.

Those are just ideas and my feelings, probably other people using
Resharper could put some thoughts into this topic as well.

Sincerely,
Ilya Ryzhenkov


Thanks for the feedback Ilya!

David Stennett
JetBrains, Inc.

0
Comment actions Permalink

I'd like to add, that as an additional improvement, the ability to "pop"
back out of these navigation movements: there is nothing so frustrating as
drillining into a serises of method calls using "Goto Declaration", figuring
something out, and then wanting to "pop out" to the method that called this
one....

Pete


"David Stennett" <nospam@thankyou.com> wrote in message
news:69847632398495855625000@news.intellij.net...

Hello Ilya,

>
>> Fast navigation is one of the core features of Resharper (and hopefuly
>> IDE)
>> and it is still inconsistent in many cases. Check requests 2585, 2618,
>> 5419,
>> 5440 - they and others show that navigation should be revisited as
>> feedback
>> and experience is collected.
>> Besides that invokation scope should be consistent (operate based on
>> entity
>> under caret), the main problem is to differentiate between
>> implementation
>> and inheritance.
>> "goto implementation command" should skip interfaces, abstract classes
>> and provide navigation to actual code that can be executed; it should
>> work on events/delegates - goto any known method that could be ever
>> executed when event fires or delegate called. The opposite command is
>> probably kind of "goto usage" command - I should be able to query all
>> ways to reach current method.
>>
>> "goto base/inheritor" command should include all hierarchy elements
>> for current member or type. There could be even combined command that
>> shows both base members and derived members, so that user could see
>> the whole set of related code.
>>
>> Those are just ideas and my feelings, probably other people using
>> Resharper could put some thoughts into this topic as well.
>>
>> Sincerely,
>> Ilya Ryzhenkov
>

Thanks for the feedback Ilya!

>

David Stennett
JetBrains, Inc.



0
Comment actions Permalink

Have you tried Ctrl-Shift-Backspace to "go back to last editing position"?

Also, VS.Net has a "Back" command that I've mapped to alt-left (and forward
to alt-right), which goes file by file. There's also
ctrl-Tab/Shift-Ctrl-Tab to cycle through source files in MRU order.


"Peter McEvoy" <trmn8rx@gmail.com> wrote in message
news:d5nd9a$pme$1@is.intellij.net...

I'd like to add, that as an additional improvement, the ability to "pop"
back out of these navigation movements: there is nothing so frustrating
as drillining into a serises of method calls using "Goto Declaration",
figuring something out, and then wanting to "pop out" to the method that
called this one....

>

Pete

>
>

"David Stennett" <nospam@thankyou.com> wrote in message
news:69847632398495855625000@news.intellij.net...

>> Hello Ilya,
>>
>>> Fast navigation is one of the core features of Resharper (and hopefuly
>>> IDE)
>>> and it is still inconsistent in many cases. Check requests 2585, 2618,
>>> 5419,
>>> 5440 - they and others show that navigation should be revisited as
>>> feedback
>>> and experience is collected.
>>> Besides that invokation scope should be consistent (operate based on
>>> entity
>>> under caret), the main problem is to differentiate between
>>> implementation
>>> and inheritance.
>>> "goto implementation command" should skip interfaces, abstract classes
>>> and provide navigation to actual code that can be executed; it should
>>> work on events/delegates - goto any known method that could be ever
>>> executed when event fires or delegate called. The opposite command is
>>> probably kind of "goto usage" command - I should be able to query all
>>> ways to reach current method.
>>>
>>> "goto base/inheritor" command should include all hierarchy elements
>>> for current member or type. There could be even combined command that
>>> shows both base members and derived members, so that user could see
>>> the whole set of related code.
>>>
>>> Those are just ideas and my feelings, probably other people using
>>> Resharper could put some thoughts into this topic as well.
>>>
>>> Sincerely,
>>> Ilya Ryzhenkov
>>
>> Thanks for the feedback Ilya!
>>
>> David Stennett
>> JetBrains, Inc.
>>
>



0
Comment actions Permalink

Thanks Paul,
No I did not know about these commands in VS - although looking at them
and playing now, I think I've got them figured, and they're not quite what I
had in mind..

Ctrl+- navigates back to the previous file you were in (and likewise for
forward)
Ctrl-Shift-Backspace requires you to make an edit to "remember" where you
were - even if this is a no-op edit

What I'm looking for is something like the tagstack in VIM: the ability to
navigate down into a sequence of method calls using "Goto Declaration" and
then to be able to pop back up the call stack to where I was originally in
the code - even if it is within the same file. I find that I need this a
lot when maintaining someone else's code, as I am unfamiliar with locations
of methods etc.

Perhaps this exists already, but have'nt seen it....

Pete



"Paul Bradshaw" <pbradshaw@advsol.com> wrote in message
news:d5o2kr$q02$1@is.intellij.net...

Have you tried Ctrl-Shift-Backspace to "go back to last editing position"?

>

Also, VS.Net has a "Back" command that I've mapped to alt-left (and
forward to alt-right), which goes file by file. There's also
ctrl-Tab/Shift-Ctrl-Tab to cycle through source files in MRU order.

>
>

"Peter McEvoy" <trmn8rx@gmail.com> wrote in message
news:d5nd9a$pme$1@is.intellij.net...

>> I'd like to add, that as an additional improvement, the ability to "pop"
>> back out of these navigation movements: there is nothing so frustrating
>> as drillining into a serises of method calls using "Goto Declaration",
>> figuring something out, and then wanting to "pop out" to the method that
>> called this one....
>>
>> Pete
>>
>>
>> "David Stennett" <nospam@thankyou.com> wrote in message
>> news:69847632398495855625000@news.intellij.net...
>>> Hello Ilya,
>>>
>>>> Fast navigation is one of the core features of Resharper (and hopefuly
>>>> IDE)
>>>> and it is still inconsistent in many cases. Check requests 2585, 2618,
>>>> 5419,
>>>> 5440 - they and others show that navigation should be revisited as
>>>> feedback
>>>> and experience is collected.
>>>> Besides that invokation scope should be consistent (operate based on
>>>> entity
>>>> under caret), the main problem is to differentiate between
>>>> implementation
>>>> and inheritance.
>>>> "goto implementation command" should skip interfaces, abstract classes
>>>> and provide navigation to actual code that can be executed; it should
>>>> work on events/delegates - goto any known method that could be ever
>>>> executed when event fires or delegate called. The opposite command is
>>>> probably kind of "goto usage" command - I should be able to query all
>>>> ways to reach current method.
>>>>
>>>> "goto base/inheritor" command should include all hierarchy elements
>>>> for current member or type. There could be even combined command that
>>>> shows both base members and derived members, so that user could see
>>>> the whole set of related code.
>>>>
>>>> Those are just ideas and my feelings, probably other people using
>>>> Resharper could put some thoughts into this topic as well.
>>>>
>>>> Sincerely,
>>>> Ilya Ryzhenkov
>>>
>>> Thanks for the feedback Ilya!
>>>
>>> David Stennett
>>> JetBrains, Inc.
>>>
>>
>>
>



0

Please sign in to leave a comment.