Chapter 2. Visual Studio .NET
If your goal is to produce significant, robust, and elegant
applications with few bugs, in a minimum amount of time,
then a modern IDE, such as
Microsoft Visual Studio .NET, is an invaluable tool. Visual Studio
.NET offers many advantages to the .NET developer, including:
A modern interface, using a tabbed document metaphor for code and
layout screens, and dockable toolbars and information windows.
Convenient access to multiple design and code windows.
WYSIWYG (What You See Is What You Get) visual design of Windows and
Code completion, which allows you to enter code with fewer errors and
Intellisense, which pops up help on every method and function call as
you type, providing the types of all parameters and the return type.
Dynamic, context-sensitive help, which allows you to view topics and
samples relevant to the code you are writing at the moment. You can
also search the complete SDK library from within the IDE.
Immediate flagging of syntax errors, which allows you to fix problems
as they are entered.
A Start Page, which provides easy access to new and existing projects.
The same code editor for all .NET languages, which shortens the
learning curve. Each language can have specialized aspects, but all
languages benefit from shared features, such as incremental search,
code outlining, collapsing text, line numbering, color-coded
An HTML editor, which provides both Design and HTML views that update
each other in real time.
A Solution Explorer, which displays all the files comprising your
solution (which is a collection of projects) in an outline.
A Server Explorer, which allows you to log on to servers to which you
have network access, access the data and services on those servers,
and perform a variety of other chores.
An integrated Debugger, which allows you to step through code,
observe program runtime behavior, and set breakpoints, even across
multiple languages and multiple processes.
Customization capability, which allows you to set user preferences
for IDE appearance and behavior.
Integrated build and compile support.
Integrated support for source control software.
A built-in task list.
However, while Visual Studio .NET can save you a lot of grunt typing,
the automatically generated code can obscure what is really necessary
to create good working programs. VS.NET can seem like a black box; it
is sometimes difficult to know how the IDE accomplishes its
legerdemain. For instance, the proliferation of mysteriously named
files across your filesystem can be disconcerting when all you want
to do is a simple housekeeping chore, such as renaming a minor part
of the project. Worst of all, VS.NET occasionally decides to reformat
all your carefully constructed code, mashing indents and line breaks
like some malevolent typist drunk on too much coffee.
All of these caveats notwithstanding, Visual Studio .NET is a highly
useful tool that can save you hours of repetitive tasks. It is also a
large and complex program, so it is impossible in this chapter to
explore its many nooks and crannies. Instead this chapter will lay
the foundation for understanding and using Visual Studio .NET and
point out traps along the way.
For a thorough coverage of Visual Studio .NET, please see
Mastering Visual Studio .NET, by Jon Flanders,
Ian Griffiths, and Chris Sells (O'Reilly).