Announcing VS2010 / .NET Framework 4.0 Beta 1!

I’ve mentioned a couple of times that Beta 1 was imminent and now it is ready for download for all MSDN subscribers!  You can download the beta here.  General downloads will be available on Wednesday, stay tuned here for the formal announcement.

We’ve added a lot of great functionality for VS2010 and .NET Framework 4.0.  the rest of this blog, I want to highlight a few areas you should give a try as you kick the tires on the beta.

Shell / Editor

The New Project Dialog supports multi-targeting (including the new 4.0 framework) and a new online access to VS Gallery:

image

We’ve added the new Tools Extension Manager which allows you to download new templates and other materials from VS Gallery directly from within VS.  For Beta 1 we’ve posted a few demo examples for you to try out. Look for more as we get the ecosystem going:

image

Code focused work

We’ve added a lot of “code focused” features which basically makes the editing experience much nicer.  For example:

  • Consume first, fault in
  • Writing test cases using the system
  • Quick search (Ctrl + ,): works across VB & C# & C++
  • Call Hierarchy

If you like the TDD approach, you should enjoy the new support.

Office Programmability

To make Office programming easier with C# and VB, we’ve added the new ‘dynamic’ keyword, named parameters, and optional parameters.  In addition, you can build your application with the ‘No PIA’ support which means you no longer need to actually deploy a PIA.

In the following example, the first shows how you write code today and the second shows you the one line of code you would prefer to write and now can with VS2010:

image

much better:

image

This simple application now creates a new Word document and adds some text:

image

Language Improvements

We’ve made several improvements to our languages for this release including working on our parity efforts between C# and VB.  As an example, VB now has automatic properties which removes the verbose syntax for get/set:

image

In this case VB has a unique feature of initialization as well.  The next big change in this release for VB is to remove the dreaded ‘_’ at the end of continuing statements:

image

VB also gets statement lambdas (the ability to write inline subroutines):

image

And finally collection initializers:

image

C# also has a set of new features including the dynamic keyword shown above for better Office programming.

F#

F# now ships with VS2010 which means you can start using the language as soon as you install (no separate download).

The following code example shows the class sum of squares method written both in F# and in C# for comparison (|> is the pipeline operator which means it sends results from one operation to the next, just like | on the command line):

image

F# allows you to execute code directly in the interactive console:

image 

WPF Designer

The WPF designer has been updated to include key features like data binding.  If you are Windows Forms programming trying out WPF you will definitely be happy with this new set of features:

image

Master / detail forms are easy using the foreign key:

image 

Silverlight

Silverlight tooling is also built into the product:

image

Web Tools

Web tooling has been updated with this version including the addition of HTML snippets.  This feature is incredibly handy if you are like me and spend more time in text than in UI designers:

image

JavaScript IntelliSense has also been updated for performance and accuracy.  As you start to type new code, the editor will infer what you meant and update as you go:

image

This work also tracks namespaces you might create and handles inline comments for a better editing experience:

image

image

JQuery now ships with VS with great IntelliSense support:

 

image

image 

C++

We’ve made a significant number of improvements to the C++ support in VS2010.  Among them:

  • Build support has been moved to MSBUILD to enable better scaling, diagnostics, extensibility, and easier customization
  • New project editors can be used to create your own build lab scripts
  • C runtime multi-targeting (makes it easier to move to new versions of VS)
  • Improved code focused work including quick search, improved IntelliSense, etc

Creating build lab scripts:

image

Including easy use of relative paths:

image

Example of multi-targeting (V9 == 2008, V10 == 2010).  You can also create your own extensions for other configurations:

image

binds to the right set of lib paths.

image

Quick search is indexed using a local database making it fast and easy to find things:

image

IntelliSense has also been improved to understand macros and #ifdef’s for more accurate editing.

Team Arch

Visual Studio Team Architecture has been updated to support standard UML (V2.1.1).  With this support you can do architecture diagrams, sequence diagrams, etc:

image

Adding an artifact using the designer:

image

activity diagram:

image 

Activity editor:

image 

Integration with TFS including documents:

image

structural diagrams:

image

The Architectural Explorer allows you to browse through your namespaces and explore the structure of your application:

image

image

image

image

image

image

Once you find the code you want, you can create a sequence diagram to understand the code flow better:

image

image 

You can view you entire system at the block level as well (handy for checking layering):

image

Test and Lab Manager

The new Test and Lab Manager tool (which is written using WPF and does not require the full Visual Studio install) allows you to manage both test cases as well as lab (virtualization) configurations:

image

Test plans are easy to create, execute, and track:

image

image 

I will be posting a tutorial walk through of doing manual testing using the tool soon.

TFS

TFS includes several new features including branch visualization and easier tracking of changes through the system:

image

visualize your source hierarchy:

image

Source annotations now track back through branching operations so you no longer just see the person who made the branch operation.  In addition, you can visualize a changeset and see where it has been applied:

image

Another changeset view:

image

Drag and drop can move a changeset from one branch to another:

image

change moved:

image

Build automation now targets the new Workflow support in .NET Framework 4.0.  You can use the new designer to outline your builds:

image

TFS Reporting 

Hierarchical work items are now supported:image

Same in Excel:

image

As well as MS Project:

image

Rich text editing was  common request for work item tracking.  Turns out I had a dentist appointment during the Beta 1 demo walk through :)image 

TFS is the backing store for all work items and can be accessed via Visual Studio, Test and Lab Manager, as well as Office.  Here you can see the same query run in Visual Studio as well as Test and Lab Manager:

image

TFS Web Access was added with VS2008.  We’ve made upgrades to these features with VS2010 including integration with MOSS:

image

You can edit your main portal as a user and add your own webparts:

image

You can also create/edit webparts using Excel server:

image 

image

And then publish them back:

image

image

Summary

Wow, that’s a lot of features!  What’s amazing is that I haven’t actually covered everything in the release.  We also have a number of advanced parallel computing advances, SharePoint tooling, new WorkFlow features, etc. 

You can find instructions for downloading the feedback and sharing your feed back here.  The best way to get prepared for VS2010 is to get VS2008 deployed today.  You can find everything you need on our home page here.

Enjoy!