Understanding Visual Studio .NET
2003's Tool
Windows
As you begin working with Visual Studio .NET,
you'll use several of the supporting tool windows to help you
design and develop your project. Furthermore, as you work through
the projects and read the discussions contained within this book,
the functionality of certain tool windows will be discussed in
depth.
This section
briefly
discusses each of the tool
windows and what each window's function is within Visual Studio
.NET. Note that some windows are specific to a certain language or
technology and might not be discussed within this book other than
in this section.
By default, many of these tool windows are not
visible. To view a specific tool window, select the View main menu
item. Note that some windows might also be contained within the
View, Other Windows menu
group
.
Table 1.1. Visual Studio .NET 2003's Tool
Windows
|
Window
|
Description
|
|
Class View
|
The Class View window is a view into a solution
that is organized based on similar type properties. For instance,
all the classes within your C# project will be placed within the
Classes tree view item. You can also browse your project's struct
declarations, defined macros, global
variables
and functions, and
even base classes and interfaces.
|
|
Command Window
|
The Command Window is used to control the Visual
Studio .NET IDE by invoking the objects and
methods
of its
automation object model by using a command-line interface.
|
|
Contents
|
The Contents window is a tree-viewbased window
that displays the contents of MSDN documentation. This is a
departure
from Visual C++ 6.0, which required the use of an
external application to view documentation.
|
|
Document Outline
|
The Document Outline tool window is used to view
the organization of the tags contained within an HTML document.
|
|
Dynamic Help
|
Dynamic Help, which is discussed later in this
chapter, is a smart context-aware Help window that displays links
to Help documentation relevant to the current task you are working
on.
|
|
Favorites
|
The Favorites tool window displays the contents
of your Internet Explorer Favorites folder. Selecting a link within
this window will
open
the corresponding website within the
integrated browser window contained within the Visual Studio .NET
IDE.
|
|
Find Results
|
The Find Results window displays the results of
a search operation. The search may be within the current document,
the current solution, or within the file system of the operating
system. Clicking an item within the Find Results window will open
that document to the location where the search found the item it
was looking for.
|
|
Find Symbol Results
|
The Find Symbol Results window is similar to the
Find Results window, but is the result of searching for symbols
such as namespaces, class
names
, and variables within your current
project.
|
|
Index
|
The Index tool window contains the index view of
the MSDN documentation. Typing a partial
name
within the Look For
field will scroll the index window to the appropriate index
result.
|
|
Index Results
|
Some links within the Index window might point
to multiple documentation links. The Index Results window displays
each of these documents as well as the section where each is
included in the documentation.
|
|
Macro Explorer
|
The Macro Explorer window is a tree view that
contains the defined Visual Studio .NET macros. By selecting a
macro within the tool window, you can run, edit, rename, or delete
that macro.
|
|
Object Browser
|
The Object Browser should be familiar to Visual
Basic developers. This window is actually a document window due to
its complex feature set. It enables you to view not only the
different objects contained within your current project, but also
the objects defined within the current operating system, such as
the various installed COM
components
and .NET assemblies.
|
|
Output
|
The Output window displays the output that is
generated from running various command-line tools within the IDE.
This window would, for example, display the results of running the
compiler on a source file or the output of the linker as you link
several object files.
|
|
Pending Checkins
|
This window is used for the source code control
integration feature of Visual Studio .NET. The Pending Checkins
window displays any files that are currently checked out in source
code control and are contained within your current solution.
|
|
Properties
|
The Properties window displays the properties of
the object you are currently working on. In the past, this was
usually reserved for dialog or ActiveX control properties, but has
been expanded to include the properties for such things as a source
code file and even the properties for the current project you are
working on.
|
|
Resource View
|
The Resource View window displays a hierarchical
collection of resources that are used within your solution.
Resources can include such things as bitmap files, assembly
manifests
, icons, and string tables, to name a few.
|
|
Search Results
|
This window displays the results of doing a
search within the documentation. Each item that appears within the
Search Results window contains the name of the document where the
item being searched for was found as well as which section of the
documentation that item was found in.
|
|
Server Explorer
|
The Server Explorer is an exciting addition to
Visual Studio .NET. This tool window enables you to browse not only
the local machine you are working on but remote servers as well.
With this tool, you can navigate and edit databases, explore system
services, view event logs, interact with the message queue, and
query performance counters.
|
|
Solution Explorer
|
The Solution Explorer
replaces
the File View
window that was present in Visual C++ 6.0. You can view all the
projects contained within your solution as well as each of the
associated files within that project. Furthermore, you can organize
the files within this view by creating folders and dragging files
into those folders. By default, several folders are created and
their
subsequent
files are organized automatically for you.
|
|
Task List
|
The Task List serves many purposes. First, it
enables you to create to-do items to
remind
you to complete certain
tasks
. You can also associate an importance level with the task.
Second, the IDE
scans
your source code and places any comments that
begin with certain keywords, such as TODO, as an item in the task
list. It also includes the file and line number for that task so
that you can double-click the item to open the file at the
appropriate location.
|
|
Toolbox
|
The Toolbox window contains all the controls
necessary for graphical
user
interface design. The included
controls consist of HTML controls, ActiveX controls, Windows Forms
controls, XML schema elements. A clipboard history is
maintained
within the Clipboard Ring tab.
|
The following tool windows are used to support
the debugging process. To view these windows, you must be actively
debugging a project. When you are debugging, you can access these
windows by selecting Debug, Windows from the main menu.
Table 1.2. Visual Studio .NET 2003's
Debugging Tool Windows
|
Window
|
Description
|
|
Autos
|
The Autos window displays information about the
variables currently within scope of your executing application, and
only those contained within the current or previous executable
statement. Displayed information includes the name of the variable,
its current value, and the variable's data type.
|
|
Breakpoints
|
The Breakpoints tool window is used to control
the management of the various breakpoints that you have set within
your application. This window contains many features, such as being
able to specify conditional breakpoints and the ability to disable
or remove breakpoints. The list view of the window also includes
rich information contained in
columns
.
|
|
Call Stack
|
The Call Stack window displays the current
contents of the call stack as you debug your application. Items at
the top of the window are the most recently called functions,
whereas the bottom items represent the beginning of the call stack.
Each function also includes parameter information, such as its
current value and data type.
|
|
Disassembly
|
The Disassembly window contains the disassembled
machine code and its associated source code, and is not for the
uninitiated developer. You might find yourself inadvertently
entering this window as breakpoints within operating system code
are hit inadvertently, usually as a result of incorrect source code
within your project.
|
|
Immediate
|
The Immediate window is one of the most useful,
but perhaps least used, debugging windows. This tool window enables
you to evaluate expressions, execute statements, get and set
variable values, and print various pieces of information The Locals
window is similar to the Autos window. However, the Locals window
contains variables within the current scope and is not limited to
just the current or previous executable statement.
|
|
Memory
|
The Memory window enables you to view memory
contents contained within your application's allocated memory
space. I have found this window useful when performing such tasks
as file and string parsing and various bit-manipulation tasks.
|
|
Modules
|
The Modules window displays the modules, DLLs,
or EXEs, currently loaded by your application. You can choose to
display various pieces of information such as the module's
filename,
path
, version information, and memory location.
|
|
Registers
|
As with the Disassembly window, the Registers
window is definitely not for a beginning developer unless that
developer is actively working with assembly language. This window
displays the current contents of each of the processors registers.
Furthermore, this window also enables you to change the values
within the registers, although this is something that should be
done only if you know what you are doing. In most cases I don't, so
I don't touch the registers' values.
|
|
This
|
The This window is
convenient
if your
application uses classes. This window displays the data
members
within the active this pointer. For Visual Basic .NET developers,
it points to the Me object.
|
|
Threads
|
The Threads window enables you to view all the
threads created by your application. It also enables you to control
which threads are active and makes it possible for you to freeze or
thaw threads.
|
|
Watch
|
You can think of the Watch window as a variable
bookmark window. The Watch window enables you to place any variable
in it, and displays the current variable's value at all times
(unless the variable is not within scope of the current executing
context). Furthermore, the Watch variables will be retained between
debugging sessions.
|
|