Visual Studio 2010
Børge Hansen
borge@devpartner.no
http://borge3000.no
Visual Studio 2010
Network support
and managed
services
New IDE Improvements
• Visual Studio Environment
– WPF-based Editor
– Better Multi-Monitor Support
• Navigation
– Quick Search
– Highlight references
• Project System
– 100% source code compatible
– Multi-Targeting
Code Focused Development
• Consume First, Declare Later
– Generate from usage
• Code insight
– Call hierarchy
– Inline call tree
• Layers
– Rich formatting of code
– Overlays of contextual information
• Document Map Margin
Web Development
• Enhanced JavaScript tooling
• HTML snippets
• New MVC and Dynamic Data tooling
• Integrated Web Deployment
Native C++ Development
• Great IDE Experience
– Scale smoothly
– Better navigation of large source
bases
– Multi-targeting
– MFC Class Wizard
• Parallel computing support
• Light up on Windows 7
• Updated MFC Look-and-Feel
Architecture Explorer
• Understanding a system can
prevent the butterfly effect.
• Architecture Explorer helps
discover and understand how a
system works.
• Visualize existing code assets and
how they connect.
Office Development
• Tooling for the next version of Office
• ClickOnce Enhancements for Office
– Create solutions with multiple
addins and documents
– Ability to deploy and update
custom actions
– Improved document and template
deployment
– Publish Office client
customizations to SharePoint
SharePoint Development
• SharePoint tooling for common
customizations
Workflow Application pages
Content Types Master pages
List Definitions Server controls
Site Definitions Modules
Web parts (+ Visual Fields
Designer)
– Great experiences inside Visual Studio
– coding->debug->deploy
– Extensible infrastructure allowing 3rd
parties and ISVs to create additional
SharePoint tooling
Debugger
• Richer platform support
– 64-bit mixed-mode debugging
– Minidump debugging support for managed
and mixed-mode
– WPF Visualizer
• Breakpoint improvements
– Grouping and labeling
– Import/export
• Historical Debugger
– Record & playback application execution
Team System: Business Alignment
• Project Management
– Project Server
– Client Integration
– Lightweight Project Planning Tools
• Requirements Traceability
• Reports
• Individual Dashboards
• Process Customization
– Wider variety of examples from
Microsoft and community
Team System: Quality & Testing
• Visual structure and behavior in UML
and DSL models
• Eliminate the “no repro” problem
• Gated checkin
• T-SQL Quality Tools
• Testing improvements
– Test prioritization
– Manual Testing
– Functional Testing
– Test Case Management
Test Impact Analysis
• Works with Code Coverage
data in TFS.
• Compares code changes with
coverage data.
• Recommends tests to run
based on coverage impacted.
Gated Check-in
• Checks changes into a
shelfset on server.
• Merges changes with main
and runs build.
• If successful, commits
changes to main.
DEMO
Visual Studio IDE
Historical Debugging
Collection Plan
• Specifies the what and how of instrumentation
Instrumentation & Hidden Trace Points
• Inserted into user’s code and the .NET framework using
ICorProfiling APIs
Logger & Log
• Data is recorded to a portable log file
User Experience
• Visualization of collected data integrated with the VS Debugger
IDE
DEMO
Historical Debugger
The Parallel Computing Initiative
Letting the brightest developers solve
business problems, not concurrency
problems.
“Concurrency for the masses”
Concurrency Landscape
For Visual Studio 2010 and the .NET Framework 4…
System.Threading Parallel Extensions
Unified Cancellation Model
Parallel Extensions is a .NET Library that supports
declarative and imperative data parallelism,
imperative task parallelism, and a set of data
structures that make coordination easier.
1. Parallel LINQ (PLINQ)
2. Task Parallel Library (TPL)
3. Coordination Data Structures (CDS)
Parallel Static Class
When program statements are independent…
StatementA();
StatementB();
StatementC();
…they can be parallelized
Parallel.Invoke(
() => StatementA(),
() => StatementB(),
() => StatementC() );
DEMO
Task Parallel Library
Structured Parallelism
Parallel class
– static (overloaded) methods
– helper methods to create/work with Tasks
– encapsulates common patterns
PLINQ
Parallel LINQ (PLINQ) enables developers to
easily leverage manycore with a minimal
impact to existing LINQ programming model
var q = from p in people.AsParallel()
where p.Name == queryInfo.Name &&
p.State == queryInfo.State &&
p.Year >= yearStart &&
p.Year <= yearEnd
orderby p.Year ascending
select p;
0 comments
Post a comment