peter provost sr. program manager microsoft corporation session code: dev403

20
Building Extensions for the Microsoft Visual Studio Architecture Tools Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Upload: lynn-ferguson

Post on 01-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Building Extensions for the Microsoft Visual Studio Architecture ToolsPeter ProvostSr. Program ManagerMicrosoft Corporation

SESSION CODE: DEV403

Page 2: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

By the End of this Talk, you will understandHow extensibility works in our architecture models

How to create extensions to tailor the experience

What you can do (and can’t do) with extensibility

Page 3: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

A little bit about MEFMEF is a dynamic composition library created by Microsoft that ships with .NET 4.0

Visual Studio includes MEF as a new extensibility mechanism

For our purposes, MEF lets us load and compose extensions into our designers and models

Page 4: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Visual Studio 2010

Visual Studio 2010 Architecture Tools

Models

Designers

UML API Extensibility API

Customer Extensions

Command Extensions

Model Validators

Gesture Extensions Work Item Link Extensions

Custom UML ProfilesCustom Toolbox Item

Page 5: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Extension PointsContext Menu Extensions

Add new menu items to the context menus of our designers

Gesture ExtensionsAdd new mouse gesture handlers for designers

Validation ExtensionsCreate custom domain validation methods for models

Work Item Link ExtensionPerform actions when model elements are linked to TFS Work Items

Custom UML ProfilesAdd new properties or identifiers to UML elements

Custom Toolbox ItemsA customized element or set of element that can be easily reused across models

Page 6: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Creating a MEF Extension

DEMO

Page 7: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Creating a MEF ExtensionDemo summary

Creating an extension projectUsing MEF Exports and ImportsCreating a command extensionCreating and displaying new model elementsCreating a Work Item Link Extension

Page 8: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Creating a UML Profile

DEMO

Page 9: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Creating a UML ProfileDemo summary

How custom profiles workCreating the profile.xml fileCreating new UML StereotypesCreating a VSIX package

Page 10: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Creating a custom Toolbox Item

DEMO

Page 11: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Creating a custom Toolbox ItemDemo summary

How custom toolbox items workCreating the template diagramInstalling the template for testingCreating a VSIX Package

Page 12: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

But I want more!Simple things are simple, complex things are still possible

VS Packages for rich IDE integrationDSL and ModelBus for complex intra-model capabilities

Code generation using T4Roll your own, forward or backwardUse the Visualization and Modeling Feature Pack capabilities

Layer Diagram ExtensibilityIncluded in the Visualization and Modeling Feature PackGives all three MEF-based extension points for Layer

Download the Visual Studio 2010 Visualization and Modeling Feature

Pack NOW!

Page 13: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Related BlogsCameron Skinner

http://blogs.msdn.com/cameronsSteve Cook

http://blogs.msdn.com/stevecookPeter Provost

http://www.peterprovost.org/blog/Jean-Marc Prieur

http://blogs.msdn.com/jmprieurMark Groves

http://blogs.msdn.com/mgroves/

Page 14: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Breakout Sessions

DEV402 Cool Visualizations using DGML

DEV310 Improving Software Quality with Microsoft Visual Studio Advanced Diagnostics, IntelliTrace™ and Test Automation

DEV306 Extending the Microsoft Visual Studio 2010 Code Editor to Visualize Runtime Intelligence Data

Related Content

Interactive Sessions

DEV08-INT Using Microsoft Visual Studio 2010 to Understand Your Applications

Page 15: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Track ResourcesVisual Studio – http://www.microsoft.com/visualstudio/en-us/Soma’s Blog – http://blogs.msdn.com/b/somasegar/ MSDN Data Developer Center – http://msdn.com/data ADO.NET Team Blog – http://blogs.msdn.com/adonet WCF Data Services Team Blog – http://blogs.msdn.com/astoriateam EF Design Blog – http://blogs.msdn.com/efdesign

Page 16: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

Page 17: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Complete an evaluation on CommNet and enter to win!

Page 18: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

http://northamerica.msteched.com/registration

You can also register at the

North America 2011 kiosk located at registrationJoin us in Atlanta next year

Page 19: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.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.

Page 20: Peter Provost Sr. Program Manager Microsoft Corporation SESSION CODE: DEV403

JUNE 7-10, 2010 | NEW ORLEANS, LA