taking control of visual studio through extensions and extensibility anthony cangialosi senior...

Post on 04-Jan-2016

220 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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 (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

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.

top related