Introduction
A quick list of some of the new features are:
- Multi-Targeting support
- Web Designer and CSS support
- ASP.NET AJAX and JavaScript support
- Project Designer
- Data
- LINQ – Language Integrated Query
The features listed and explained in this paper are not complete and
this document intends to give you a forehand to start off with VS 2008.
Earlier, each Visual Studio release only supported a specific
version of the .NET Framework. For example, VS 2003 only works with
.NET 1.1, and VS 2005 only works with .NET 2.0.
One of the major changes with the VS 2008 release is to support what
Microsoft calls "Multi-Targeting". This means that Visual Studio will
now support targeting multiple versions of the .NET Framework, and
developers will be able to take advantage of the new features that
Visual Studio provides without having to migrate their existing
projects and deployed applications to use a new version of the .NET
Framework.
Now when we open an existing project or create a new one with VS
2008, we can pick which version of the .NET Framework to work with. The
IDE will update its compilers and feature-set to match the chosen .NET
Framework.
Features, controls, projects, item-templates, and references that do
not work with the selected version of the Framework will be made
unavailable or will be hidden.
Unfortunately, support has not been included to work with Framework
versions 1.1 and earlier. The present release supports 2.0/3.0 and 3.5
.NET Frameworks.
Microsoft plans to continue multi-targeting support in all future releases of Visual Studio.
Creating a New Project with Visual Studio 2008 that Targets .NET 2.0 Framework Library
The screenshots below depict the creation of a new web application
targeting .NET 2.0 Framework. Choose File->New Project. As we see in
the snapshot below in the top-right of the new project dialog, there is
now a dropdown that allows us to choose which versions of the .NET
Framework we want to target when we create the new project. The
templates available are filtered depending on the version of the
Framework chosen from the dropdown:
Can I Upgrade an Existing Project to .NET 3.5?
When we open a solution created using an older version of Visual
Studio and Framework, VS 2008 would ask if migration is required. If we
opt to migrate, then a migration wizard would start. If we wish to
upgrade our project to target a newer version of the Framework at a
later point of time, we can pull up the project properties page and
choose the Target Framework. The required assemblies are automatically
referenced. The snapshot below shows the properties page with the
option Target Framework marked.
One feature that web developers will discover with VS 2008 is its
drastically improved HTML designer, and the extensive CSS support made
available.
The snapshots below depict some of the new web designer features in-built into VS 2008.
Split View Editing
In addition to the existing views, Design view and Code view, VS
2008 brings along the Split view which allows us to view both the HTML
source and the Design View at the same-time, and easily make changes in
any of the views. As shown in the image below, as we select a tag in
code view, the corresponding elements/controls are selected in design
view.
CSS Style Manager
VS 2008 introduces a new tool inside the IDE called "Manage Styles". This shows all of the CSS style sheets for the page.
It can be used when we are in any of the views - design, code and
split views. Manage Styles tool can be activated by choosing Format
-> CSS Styles -> Manage Styles from the menu. A snapshot of the
same would look like the following:
Create a new style using the new style dialog window as show in the snapshot below.
Now, the style manager would show .labelcaption style as well in the CSS styles list. However, if we observe that the body element has a circle around it but the .labelcaption does not have one, this is because the style is not in use yet.
We will not select all the labels below and apply our new style .labelcaption.
We can choose to modify the existing style through GUI using "Modify
style..." menu option in the dropdown menu as shown above or choose to
hand edit the code by choosing the option "Go To Code".
CSS Source View Intellisense
The designer is equipped with the ability to select an element or
control in design-view, and graphically select a rule from the CSS list
to apply to it.
We will also find when in source mode that we now have intellisense
support for specifying CSS class rules. The CSS Intellisense is
supported in both regular ASP.NET pages as well as when working with
pages based on master pages.
Code Editing Enhancements
Below is a non-exhaustive list of a few new code editing improvements. There are many more about which I don't know yet.
Transparent Intellisense Mode
While using VS 2005/2003 we often find ourselves escaping out of
intellisense in order to better see the code around, and then go back
and complete what we were doing.
VS 2008 provides a new feature which allows us to quickly make the
intellisense drop-down list semi-transparent. Just hold down the "Ctrl"
key while the intellisense drop-down is visible and we will be able to
switch it into a transparent mode that enables us to look at the code
beneath without having to escape out of Intellisense. The screenshot
below depicts the same.
Organize C# Using Statements
One of the small, but a nice new feature in VS 2008 is support for better organizing using statements in C#. We can now select a list of using
statements, right-click, and then select the "Organize Usings"
sub-menu. When we use this command the IDE will analyze what types are
used in the code file, and will automatically remove those namespaces
that are declared but not required. A small and handy feature for code
refactoring.
3. ASP.NET AJAX and JavaScript Support
JavaScript Intellisense
One new feature that developers will find with VS 2008 is its
built-in support for JavaScript Intellisense. This makes using
JavaScript and building AJAX applications significantly easier. A
double click on HTML control in design mode would automatically create
a click event to the button and would create the basic skeleton of the
JavaScript function. As we see in the depicted image below, JavaScript
Intellisense is inbuilt now. Other JavaScript Intellisense features
include Intellisense for external JavaScript libraries and adding
Intellisense hints to JavaScript functions.
JavaScript Debugging
One new JavaScript feature in VS 2008 is the much-improved support
for JavaScript debugging. This makes debugging AJAX applications
significantly easier. JavaScript debugging was made available in VS
2005 itself. However, we had to run the web application first to set
the breakpoint or use the "debugger" JavaScript statement.
VS 2008 makes this much better by adding new support that allows us
to set client-side JavaScript breakpoints directly within your
server-side .aspx and .master source files.
We can now set both client-side JavaScript breakpoints and VB/C#
server-side breakpoints at the same time on the same page and use a
single debugger to step through both the server-side and client-side
code in a single debug session. This feature is extremely useful for
AJAX applications. The breakpoints are fully supported in external
JavaScript libraries as well.
Below is a list of few other enhancements and new features included in Microsoft Visual Studio 2008.
Project Designer
Windows Presentation Foundation (WPF) applications have been added to Visual Studio 2008. There are four WPF project types:
- WinFX Windows Application
- WinFX Web Browser Application
- WinFX Custom Control Library
- WinFX Service Library
When a WPF project is loaded in the IDE, the user interface of the
Project Designer pages lets us specify properties specific to WPF
applications.
Data
Microsoft Visual Studio 2008 Beta 2 includes the following new features to incorporate data into applications:
- The Object Relational Designer (O/R Designer) assists developers in
creating and editing the objects (LINQ to SQL entities) that map
between an application and a remote database
- Hierarchical update capabilities in Dataset Designer, providing
generated code that includes the save logic required to maintain
referential integrity between related tables
- Local database caching incorporates an SQL Server Compact 3.5
database into an application and configures it to periodically
synchronize the data with a remote database on a server. Local database
caching enables applications to reduce the number of round trips
between the application and a database server
LINQ – Language Integrated Query
LINQ is a new feature in VS 2008 that broadens great querying
capabilities into the language syntax. LINQ introduces patterns for
querying and updating data. A set of new assemblies are provided that
enable the use of LINQ with collections, SQL databases, and XML
documents.
Visual Studio 2008 Debugger
The Visual Studio 2008 debugger has been enhanced with the following features:
- Remote debugging support on Windows Vista
- Improved support for debugging multithreaded applications
- Debugging support for LINQ programming
- Debugging support for Windows Communications Foundation
- Support for script debugging, including client-side script files
generated from server-side script now appear in Solution Explorer
Reporting
Visual Studio 2008 provides several new reporting features and improvements such as:
- New Report Projects: Visual Studio 2008 includes two new project
templates for creating reporting applications. When we create a new
Reports Application project, Visual Studio provides a report (.rdlc) and a form with a ReportViewer control bound to the report.
- Report Wizard: Visual Studio 2008 introduces a Report Wizard, which
guides us through the steps to create a basic report. After we complete
the wizard, we can enhance the report by using Report Designer.
- Expression Editor Enhancement: The Expression Editor now provides
expressions that we can use directly or customize as required.
- PDF Compression: The ReportViewer controls can now compress reports that are rendered or exported to the PDF format.