History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: RSRP-35547
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Serge Baltic
Reporter: Ilya Ryzhenkov
Votes: 23
Watchers: 12
Operations

If you were logged in you would be able to see more operations.
ReSharper

Support navigation to VS [from metadata] pseudo-source, instead of to Object Browser

Created: 12 Feb 07 14:19   Updated: 27 Jul 08 15:03
Component/s: VS integration
Fix Version/s: 4.5

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
Issue Links:
Duplicate
 
This issue is duplicated by:
RSRP-47637 'Go To Declaration': navigate to gene... Normal Resolved


 Description  « Hide
And an option to configure this, of course

 All   Comments   Work Log   Change History      Sort Order:
Christian Crowhurst - 12 Feb 07 22:35
See Joe White's blog that discusses this feature request: http://excastle.com/blog/archive/2007/02/11/14543.aspx

Yuri Astrakhan - 15 Aug 07 20:48
This is a very important issue for me – I am forced to reset all Resharper shortcuts just because F12 is defined differently and Ctrl+B brings up the object browser. If ctrl+B would bring up the METADATA generated text from code, it would greatly improve usability. Thanks for the great product!!!

Yuri Astrakhan - 27 Nov 07 02:41
This issue got even worse with R# 3.0: simply enabling Resharper forces F12/Ctrl+B to navigate to object browser. Apparently there is no longer a way to get the source from meta data (verified in both VS2005 & VS2008 RTM, build 565)

Alex Martsynkevich - 09 Dec 07 19:22
Apparently R# under VS2008 RTM doesn't even jump to the right location in Object Browser. I reported that in new issue: RSRP-54012

Michael Schierl - 19 May 08 15:57
This drives me mad
Where can I find class attributes (like [Serializable] or [Designer]) in the Object Browser? Or how can I disable R# temporarily without uninstalling it?
R# does not really make me more productive when I have to spend hours on things like that

Ilya Ryzhenkov - 19 May 08 16:13
Michael, all that info you can find in our Quick Doc feature.

2all: I've spent some time and now can confirm that this feature of VS is not available via any extensibility mechanism available. It is purely feature of C# language service, implemented in C++ without any COM interfaces available. The only thing we can do with it - do not intercept VS "Go to declaration" command when navigating to compiled symbols (libraries). This means that users will have navigation working differently depending on the source of navigation. For example, double-clicking in any ReSharper tool window will still open Object Browser. I'm not sure if this is what everybody need, but let's discuss this.

So, why do you want [metadata] view? What information do you see there which is not available otherwise? Like I said, most information is available via Quick Doc feature of ReSharper without any navigation at all. Since ReSharper 4 you can even pin it.


Yuri Astrakhan - 19 May 08 18:07
Ilya, yes, different behavior is acceptable. Should be configurable.

I, personally, need meta data source because object browser...

  • Does not contain method and parameter attributes
  • Declarations cannot be copied as ready to use member declarations (can only copy either one full name, or the text from description)
  • Very poor search - cannot search member names / parameters / docs inside one class using regular text search tools (plain or regex) - very useful for large classes.

Yuri Astrakhan - 19 May 08 18:20
Just looked at the attributes in more details: In VS2008, object browser shows a section called "Attributes" at the bottom, but when I looked at the type "System.Int32", it showed

public struct Int32
Member of System
Attributes:
[System.Runtime.InteropServices.ComVisibleAttribute(true)]

whereas reflector, which I trust much more, shows this:

[Serializable, StructLayout(LayoutKind.Sequential), ComVisible(true)]
public struct Int32 : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>

As you can see, information is 1) more complete, 2) easier to read (i have to open the type and then open the Base Types branches in the tree just to see parent class/interfaces.


Serge Baltic - 26 May 08 19:20
Open the VS built-in Code Definition Window while in the Object Browser.

Peter Ritchie - 07 Jun 08 18:59
Yes, please offer an ability to not intercept the "Go to declaration".

Metadata view is nice because you can use text search as well as shows the declaration in a format that I use more often (i.e. I'm always editing C# code, using the object browser is a much different way of viewing the same information and requires a completely different set of keystrokes.)

Object Browser is something that VB users are more used to. If you're editing C# code and you don't come from a VB background Object Browser is completely foreign (and annoying).


Serge Baltic - 07 Jun 08 20:57
The VBNET/C# differentiation seems to be not true.

However, the Object Browser presentation language is pretty much random (C#/VBNET), which makes it a problem.


Peter Ritchie - 07 Jun 08 22:53
Sorry, I'm old. Pre-VBNET the object browser was primarily a VB thing. You could only use it in other languages if the components were COM.

Serge Baltic - 08 Jun 08 04:11
C++ers would use oleview32.exe instead of the Object Browser, which is no much difference.

Alas, Object Browser is all we've gotten right now.


Fabrice - 12 Jun 08 18:28
Please don't remove Visual Studio features. This one is an example. I hate it when something I was using before is removed because Resharper decides it should be so.
What I want to see when I use F12 or Go to Declaration is the pseudo source code based on metadata. If Resharper wants to offer something else, such as quick access to the object browser, then it should use another keyboard shortcut, and at any rate it should not remove the Visual Studio feature, as is the case now.
Please provide a quick-fix for this for Resharper 3.1.

Yuri Astrakhan - 27 Jun 08 20:29
Code Definition window (Ctrl+\,Ctrl+D) still shows code from the metadata, and can be viewed and copied. I propose making F12 the default shortcut for that window, and bring it up as a tabbed document window instead. Works for me.

Derek Greer - 06 Jul 08 06:43
This request has my vote. It's one thing to change the key mappings (Go to Definition is Ctrl+B instead of F12), but its quite another to disable a feature altogether. I use "Go to Definition" quite a bit and really dislike not being able to easily navigate to the metadata now. Please add an option to toggle the interception of the "Go to Definition" command.

Avner Zangvil - 27 Jul 08 15:03
The Object Browser does not display Extension Methods while the [from metadata] feature does and that renders the OB almost useless for those of us who are using C# 3.5 features extensively. For example, hit F12 on an IEnumerable<> variable and compare results with OB and with From Metadata. The OB gives very little useful info while From Metadata displays virtually everything that the compiler would recognize in a clear, complete, searchable and easy to view format. I realize that some people like GUI displays more than source code, but developers need completeness first for a feature to be useful. As people start using extension methods, enumerables and other C# 3.5 stuff more and more, the shortcomings of the OB will become more painful for them.