taking control of visual studio through extensions and extensibility anthony cangialosi senior...
TRANSCRIPT
Taking Control of Visual Studio through Extensions and ExtensibilityAnthony CangialosiSenior Program Manager LeadMicrosoft Corporation
DEV311
Evolution of Tools
Extensible Tools
Working with Extensions
The Extension and Updates Dialog
Central View for all VS ExtensionsCentral VSIX managementSupport for VSIXs and MSIsUpdate notificationsServices for “in situ” experiencesPrivate Gallery support
Atom feedsSharePoint Lists
DEMO
Working with Extensions
Building an Extension
Avoid repetitive work
Why Build Extensions?
Customize VS to your environment
Apply policies across teams
Faster and higher quality development Fame and fortune
Visual Studio Extensibility Map
SandCastle Extension
Team Extensibility
Data Designer Extensibility providers
Help Integration
Help documentation
F1 Integration
Dynamic helpIntegration
Team Foundation Server
TFSReporting
Source control Tracking
Process Templates
TeamBuild
Work Item Tracking
Debugger
Debug Engines
ExpressionEvaluator
DebuggerVisualizers
Source controlClient Provider
Shell customization
Team Test
Custom Host Adapters
Custom Test type
GraphicalModellingDesigner
Coherence
Validation
Text document
Multi ViewEditor
DocumentEditors
Code Model
CodeEditor
Language Services
Code snippets
AdornersIntelliSenseTags& Classifiers
Integration to Object browser And Class View
Project model
Project Type
Project Properties pages
ItemTemplate
Project Template
SolutionTemplate
Custom Wizards
External Tools
User Interface
Componentmodel
PropertiesWindows
CodeGenerator
T4 Technology
Single fileGenerator
Menus/CommandsVSCT
VS Commands
Error List
Toolbox
Task List
Options PagesStatus
Output Window
Help About Box
Tool Windows
IDE Extensibility
Project Location
Splash Screen
Application Id
Feature Customizations
Ingredients of an Extension
Pre-written source templateProject and Item template
Menu Shortcuts for custom tools
Menu command
WPF DataGrid Custom control
Server explorerTool window
XSD DesignerMultiView editor
Code productivity toolEditor margins, adornments and tags, and classifiers
Programming languageProject system, Language service, project templates, build tasks and targets
DebuggerDebug Visualizers, expression evaluator, debug engine
Platform SDKAll of the above
Core Concepts: VSIX
A simple way to deploy Visual Studio extensionsOPC based packageLocalizable, extensible, and supports code signingSimple end user management through extension ManagerVSIXManifest also supports MSISupports most extension points in Visual StudioExtension dependency resolution
Xcopy deploy; no magic, no hidden stateSimplified authoring through VS SDK
Anatomy of a VSIX
VSIX
[Content_Types].xmlextension.vsixmanifestAsset payloadOther supporting file
extension.vsixmanifest
Description MetadataPrerequisitesDependenciesAssets
Core Concepts: VS Packages
Primary extensibility model in Visual StudioMost shell IDE features are VS PackagesCOM architecture with friendly managed wrappers (MPF)
Core Concepts: MEF
Library for creating extensible applicationsComponent discovery via compositionSimple Inter-component communicationComponents Reusable across multiple applications
Key ConceptsCatalogsImportsExports
Demo
Building an Extension
Where can you Deploy Extensions
Express Editions
Content: Templates Controls NuGetsExtension SDKs
Pro, Premium, Ultimate & Shell
Capabilities: Shell ExtensionsEditor ExtensionsProject SystemsAnd more
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 TeamsDevelopment 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 ([email protected])
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
Jason Zander’s Blog :: http://blogs.msdn.com/b/jasonz/
Facebook :: http://www.facebook.com/visualstudio
Twitter :: http://twitter.com/#!/visualstudio
Somasegar’s Blog :: http://blogs.msdn.com/b/somasegar/
Resources
Connect. Share. Discuss.
http://northamerica.msteched.com
Learning
Microsoft Certification & Training Resources
www.microsoft.com/learning
TechNet
Resources for IT Professionals
http://microsoft.com/technet
Resources for Developers
http://microsoft.com/msdn
Complete an evaluation on CommNet and enter to win!
MS Tag
Scan the Tagto evaluate thissession now onmyTechEd 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.