The Misnamed and Misunderstood Object Browser
Keyboard: CTRL + ALT + J
Menu: View -> Object Browser
Command: View.ObjectBrowser
Versions: 2008,2010
Published: 8/26/2010
Code: vstipTool0077
One of my pet peeves is that the Object Browser does much, much more than it's name implies:
As you can see, the Object Browser is composed of several pieces:
Toolbar (very top)-various controls for manipulating the various functions available.
Objects Pane (left, top and bottom)-displays an expandable list of symbols whose top-level nodes represent components or namespaces available in the current browsing scope.
Members Pane (right,top)-selecting an symbol in the Objects pane displays its members in the Members pane if available.
Description Pane (right, bottom)-displays detailed information about the currently selected object or member.
First, it would have you think that it only shows objects. This isn't true at all! In fact, it shows symbols which is way more than just objects:
In this example, we see a couple of projects with several namespaces in them in addition to some interfaces and classes. The classes with envelopes represent internal classes. You can see what the icons mean by going to the documentation entitles "Class View and Object Browser Icons" found here: https://msdn.microsoft.com/en-us/library/y47ychfe.aspx
Second, it would have you think that all you can do is browse items. Again, not true. You can do cool things like add references to your project from the Object Browser:
Over a series of upcoming tips we will examine just what the Object Browser can do for you.
Comments
Anonymous
August 26, 2010
In fact, "Object" is an specially bad choice in a world in which it means "instance of a class". It is true that there is not a term to refer to namespaces, classes, methods, interfaces, enums, etc., as a set, but I think there are better alternatives, maybe "Elements Browser"..., or "Things Browser" :DAnonymous
August 26, 2010
Yeah that's my feeling, too. There must have been a good reason for the naming at the time it was created but now it is way more than the name implies... ZAnonymous
September 06, 2010
It's a proper name, an object can be anything, and in this context the term doesn't belong to the OOP world, but to its more abstract form as used and define in the English vocabulary.Anonymous
September 08, 2010
@Eyal-Shilony -- true but I get the feeling if I went that route most of my readers would hunt me down and beat me silly :)Anonymous
October 03, 2011
i clicked on 'object browser' and was expecting to see the 'objects'( instances of my classes) existing at that point of time of my running application :(..Anonymous
September 05, 2013
I'm puzzled. I added a reference to a dll to a project and, now, the AjaxControlToolkit Namespace (and others) do not show in the Object Browser. The AjaxControlToolkit.dll is in the Bin folder - why isn't it showing in the Object browser?Anonymous
September 05, 2013
Hey Mike :) You may need to modify your browser scope. Check here: msdn.microsoft.com/.../6aax353k(v=vs.80).aspx ZAnonymous
July 16, 2014
The comment has been removed