240 likes | 330 Views
DEV311. Taking Control of Visual Studio through Extensions and Extensibility. Anthony Cangialosi Senior Program Manager Lead Microsoft Corporation. Evolution of Tools. Extensible Tools. Working with Extensions. The Extension and Updates Dialog. Central View for all VS Extensions
E N D
DEV311 Taking Control of Visual Studio through Extensions and Extensibility Anthony Cangialosi Senior Program Manager Lead Microsoft Corporation
The Extension and Updates Dialog • Central View for all VS Extensions • Central VSIX management • Support for VSIXs and MSIs • Update notifications • Services for “in situ” experiences • Private Gallery support • Atom feeds • SharePoint Lists
DEMO Working with Extensions
Why Build Extensions? Customize VS to your environment Apply policies across teams Avoid repetitive work Faster and higher quality development Fame and fortune
Visual Studio Extensibility Map Tags& Classifiers IntelliSense Adorners Project Location Code snippets • Feature Customizations Integration to Object browser And Class View • Data Designer Extensibility providers • Splash Screen Code Editor Language Services SandCastle Extension F1 Integration Code Model • Shell customization Multi View Editor Validation Help documentation Document Editors Dynamic help Integration Text document • Application Id Coherence • Help • Integration Project Properties pages GraphicalModellingDesigner Custom Test type Project Type T4 Technology Team Test Project Template Code Generator Custom Host Adapters Single file Generator Project model Item Template • IDE • Extensibility Team Extensibility Custom Wizards Solution Template • Source control • Client Provider Source control Tracking External Tools TFS Reporting Componentmodel • Team Foundation Server VSCT Menus/Commands Properties Windows User Interface VS Commands Process Templates Work Item Tracking • Debugger Output Window Error List Team Build Toolbox Debug Engines Expression Evaluator Help About Box Debugger Visualizers Tool Windows Task List Options Pages Status
Ingredients of an Extension • Pre-written source template • Project and Item template • Menu Shortcuts for custom tools • Menu command • WPF DataGrid • Custom control • Server explorer • Tool window • XSD Designer • MultiView editor • Code productivity tool • Editor margins, adornments and tags, and classifiers • Programming language • Project system, Language service, project templates, build tasks and targets • Debugger • Debug Visualizers, expression evaluator, debug engine • Platform SDK • All of the above
Core Concepts: VSIX • A simple way to deploy Visual Studio extensions • OPC based package • Localizable, extensible, and supports code signing • Simple end user management through extension Manager • VSIXManifest also supports MSI • Supports most extension points in Visual Studio • Extension dependency resolution • Xcopydeploy; no magic, no hidden state • Simplified authoring through VS SDK
Anatomy of a VSIX VSIX extension.vsixmanifest Description Metadata Prerequisites Dependencies Assets • [Content_Types].xml • extension.vsixmanifest • Asset payload • Other supporting file
Core Concepts: VS Packages • Primary extensibility model in Visual Studio • Most shell IDE features are VS Packages • COM architecture with friendly managed wrappers (MPF)
Core Concepts: MEF • Library for creating extensible applications • Component discovery via composition • Simple Inter-component communication • Components Reusable across multiple applications • Key Concepts • Catalogs • Imports • Exports
Demo Building an Extension
Where can you Deploy Extensions Express Editions Pro, Premium, Ultimate & Shell Capabilities: Shell Extensions Editor Extensions Project Systems And more • Content: • Templates • Controls • NuGets • Extension SDKs
Visual Studio Industry Partners (VSIP)Deliver better tools for Visual Studio Faster • VSIP History • Program founded in 1998 to work with partners to build extensions for the Visual Studio IDE. • VSIP Today • 184 partners that extend the value of the Visual Studio family of products to create, test, enhance and deploy applications across all platforms. • Value to Partners • Development and business planning support for quicker, closer integration with Visual Studio releases • Value to Development Teams • Development solutions that empower them to deliver better applications faster. • Visual Studio 2012 RC Sim-Ship Partners
Track Resources • Visual Studio SDK: www.microsoft.com/en-us/download/details.aspx?id=29930 VSX Learning Resources: www.msdn.com/vsx/ Visual Studio Library Resources: msdn.microsoft.com/en-us/library/ae3cxw0w VSIP: http://www.msdn.com/vsip (vsipinfo@microsoft.com) Introducing the New Visual Studio 2012 Unit Testing Experience: 6/11 @ 1:15PM Visual Studio Tips & Tricks: 6/12 @ 1:30PM
DEV Track Resources • Visual Studio Home Page :: http://www.microsoft.com/visualstudio/en-us Somasegar’s Blog :: http://blogs.msdn.com/b/somasegar/ Jason Zander’s Blog :: http://blogs.msdn.com/b/jasonz/ Facebook :: http://www.facebook.com/visualstudio Twitter :: http://twitter.com/#!/visualstudio
Resources Learning TechNet • Connect. Share. Discuss. • Microsoft Certification & Training Resources http://northamerica.msteched.com www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet http://microsoft.com/msdn
MS Tag Scan the Tag to evaluate this session now on myTechEd Mobile
© 2012 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.