What's New in Visual Studio 2010

Preview:

DESCRIPTION

Slides from my keynote at the Oklahoma City Community Launch for Visual Studio 2010

Citation preview

Chris KoenigMicrosoft Corporation

What’s New in Microsoft Visual Studio

2010

1990s-2000s

Team development

tools

1980s-1990s

Integrated development environments

(IDEs)

Version control tools

Build tools

Testing tools

Tools for Software Development

Reporting and tracking tools

1970s-1980s

Editors

Compilers

Introducing Visual Studio 2010

Across the Board Innovation

Multi Monitor SupportZoom-able Coding Surface

Partial String IntelliSenseHTML Snippets

One Click Deployment

Generate from usage

Visual Studio Extension Manager

Call Hierarchy

Navigate-To

Refined Multi-targeting

Highlight References

Box Selection

Low impact IntelliSense Mode

New Help Experience

Drag-and-drop Data-binding

Customizable Start Page

Breakpoint Labeling

Breakpoint exporting

Hide selection

Test and Lab Manager

Manual Testing

Layer Diagram

UML Modeling

Load Testing Web Testing

Test Case ManagementIntelliTrace™

Architecture Explorer Fast Fwd for Manual Test

Logical Class Designer

Cloud Development

Office Development

Windows Development

New WPF Editor Customizable IDE

Multi-core DevelopmentSilverlight Tools

Web Development

SharePoint Development

Generate from Usage

Static Code Analysis

Database Deployment

Code Metrics

Database Unit Testing Test Data Generation

Test Impact AnalysisUI Test Automation

Code Coverage

Performance Profiling

Database Change Mgmt

Test and Lab Manager

Test Case Management

Fast Fwd for Manual Test

Manual Testing

Lab Mgmt Configuration

Checkpoint Environment

Environment from TemplateVirtual Env. Setup/Tear Down

Team Explorer

Team Agents

New to the Visual Studio Product Family

Ship Great Software

Understand Existing Systems

Maximizing Productivity

UNDERSTAND EXISTING

SYSTEMS

Understanding What You Have

Could one change break something unrelated?

How much faster you could learn a new system if you could visualize it?

Layer Diagram

− Define and communicate design intent

− Associate assets with layer elements

− Validate implementation against diagram

Sequence Diagram

− Describe interactions between objects

− Visually identify code coupling that might be impacted by changes

− Link elements of any kind to work Items in TFS

Architectural Tools

demo

MAXIMIZEDEVELOPER PRODUCTIVITY

Huge List of New Features− Breakpoint Labeling− Breakpoint Searching− Breakpoint Import/Export− Dynamic Data Tooling− WPF Tree Visualizer− Call Hierarchy− Improved WPF Tooling− Historical Debugging− Mini-Dump Debugging− Quick Search− Better Multi-Monitor Support− Highlight References− Parallel Stacks Window− Parallel Tasks Window

− Document Map Margin− Generate from Usage− Concurrency Profiler− Extensible Test Runner− MVC Tooling− Web Deploy− JQuery IntelliSense− SharePoint Tooling− HTML Snippets− Web.config Transformations− ClickOnce Enhancements− AND MANY MORE!

General Improvements

− Start page− Rewritten using XAML—easy to customize− Recent Projects list: right-click, pin− New projects: Multi-targeting

− New support for Silverlight, MFC, F#, Azure− Extended support for Office 2010, SharePoint

− Extension manager− Gallery for Visual Studio extensions

− Simplified Deployment for Web Projects− Web.config Transformations

UI Improvements

− Zoom− Docking Windows− Navigate To/Quick Search− Highlighting References− Box Selection− Generate from Usage− IntelliSense Consume-First Mode− Search in Add New Item dialog box

Docking Windows

− New docking visuals− Windows can be docked anywhere− Better use with multiple monitors

Navigate To/Quick Search

− Ctrl+,− Provides search-as-you-type support for files, types,

and members− Enables quick searching

− Provides “fuzzy” search− Ctrl+- goes back

Highlighting References

− Automatic highlighting of symbols− Works with declarations, references, and many

other symbols− Makes it easy to find all uses of a symbol

Box Selection

− In VS 2008, could press ALT key to select rectangular region

− Now, additional features:− Text insertion: Type into a box selection to insert text on

every line− Paste contents from one box selection to another− Zero-width boxes

− Make a vertical selection zero-width to create multi-line insertion point for new or copied text

Generate from Usage

− Automatically creates “stub” code from code you have typed

− Enables you to use classes and members before you define them

− Very useful for TDD-style coding approaches

Debugging Improvements

− Breakpoints− Can add labels to breakpoints− All breakpoints are searchable− Can import/export breakpoints

− Floating Data Tips

− Call Hierarchy (C# Only)

VB & C# 2010 Language

New in VS 2010Already exists in VS 2008

Feature VB C#

Auto-implemented Properties

Collection Initializers

Array Literals

Statement Lambdas

Implicit Line Continuation N/A

Named/Optional Parameters

Latebinding support (dynamic)

Omit ref on COM calls

Indexed Properties

Interop with Dynamic Languages

Covariance / Contravariance

No-PIA (Primary Interop Assemblies)

VB & C# 2010 IDEFeature VB C#

Generate From Usage: Generate Method

Type colorization

Background Squiggles: Top Level Analysis

IntelliSense: Builder UI

IntelliSense: Prefix Filtering Completion List

Generate From Usage: Generate Type, Constructor, Property, Field

IntelliSense: Consume First Mode

IntelliSense: Substring & Camel-Case Match

Navigate To

Highlight References

Call Hierarchy

New in VS 2010Already exists in VS 2008

Shared Language Features

− .NET Client Profile− In-process Side-by-Side Execution− Code Contracts− Improved support for Parallelism

− Task Parallel Library− PLINQ− Visual Studio Parallel Tasks window

− Managed Extensibility Framework− No-PIA

IDE Enhancements

demo

So much more!

− Extension Manager− Visual Studio Productivity Power Tools− Power Commands for Visual Studio

− Visual Studio Tips and Tricks− Zain Naboulsi: http://blogs.msdn.com/b/zainnab − Scott Cate: http://scottcate.com/tricks

− Other references− http://delicious.com/chriskoenig/vs2010

SHIP GREAT SOFTWARE

Five Steps to Any Process

Queue Setup Run Wait Move

Five Steps to Fixing A Bug

Queue

• Tester files bug

Setup

• Developer searches for the source of the defect

Run

• Developer fixes bug

Wait

• Bug is assigned to tester

Move

• Code is moved to test environment

Microsoft® Test Manager 2010

−Create test cases for requirements

−Plan & execute test runs

−Optimized for manual testing

−Create “Actionable” bugs & track results

Actionable Bug

−Enables immediate action

−Contains:−Steps to Reproduce−System Information−Screenshots & Video

Capture−IntelliTrace

IntelliTrace

−Historical record of code execution

−Like a DVR for debugging−Examine actual code

execution

IntelliTrace

demo

Ship Great Software

Understand Existing Systems

Maximizing Productivity

Contact Me

chriskoenig.netchristopher koenig@chriskoenig

Q&A

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Visual Studio, the Visual Studio logo, and [list other trademarks referenced] are trademarks of the Microsoft group of companies.

 The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond

to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. 

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended