VisualStudio.Extensibility: A New Way to Write Extensions

Past calendar year, we announced the initially section of a new extensibility design for Visual Studio.  This new model will make extensions much easier to write and additional responsible alongside with additional added benefits such as being able to set up these extensions without the need of restarting the IDE.  Now, we’re psyched to announce the second phase of the new extensibility design, now titled VisualStudio.Extensibility!

 

What is new for period 2 of VisualStudio.Extensibility?

Phase 1 enabled editor APIs that let you build linter and formatter extensions.  The next VisualStudio.Extensibility APIs let you to create richer, non-language-based productiveness extensions.

Distant UI Framework

Introducing UI can be an important component of developing an extension.  Now you can make UI-based extensions with the addition of the WPF-based Remote UI framework.  As opposed to the in-proc UI framework in the past design, Distant UI is out-of-proc and thoroughly asynchronous, relying on a Model-Perspective-ViewModel style pattern, XAML, knowledge binding, and commands.

Software Home windows

Utilizing the new Distant UI framework, extensions can now deliver customized software home windows. Device windows can be registered with a default placement (this kind of as floating in the document nicely, relative to other VS instrument home windows) and automobile-creation (allowing the window layout to recreate and display the tool window when essential). Added help is provided for making use of context policies to dynamically display and cover a software window. also new extensibility APIs for obtaining, displaying, and hiding these instrument windows. All the new resource window behaviors are established up to be asynchronous like finding the instrument window’s qualities and articles.

Tool window code sample
Sample code for making a instrument window

 

Tool window example
Tool window illustration

 

New Editor API Additions

The VisualStudio.Extensibility editor eventualities are increasing!  Now you can do the following:

New Commands

You can now produce commands that do the pursuing:

  • Show Tooltips – You can produce an extension that shows further details in the form of a tooltip when hovering about a function or management in Visible Studio.
  • Clearly show custom made illustrations or photos – Further personalize your extensions by referencing your possess customized illustrations or photos (i.e. images outdoors the listing of recognized VS monikers) in your extension commands.
Task Progress Notifications

If your extension needs to operate duties in the qualifications, you can let your extension people know the tasks’ execution development with user prompt notifications.  You can also give consumers the solution to terminate these duties.

Progress notification for an extension task
Progress notification for an extension process

 

Code snippet for initializing background task progress
Code snippet for initializing qualifications task development

 

Also, you can prompt end users with supplemental prompts when they decide on one particular of your extension commands.

Additional command prompt
Extra command prompt

 

Smoother migration with in-proc support

In addition to out-of-proc assist for composing extra trusted extensions, stage 2 of VisualStudio.Extensibility now consists of in-proc aid.  Enabling in-proc APIs will make it possible for you to migrate your present extensions in manageable chunks.  Even if you really don’t have an present extension, this assist will let you fill in API gaps that the VisualStudio.Extensibility design does not nevertheless guidance but are crucial to your extension eventualities.

 

What is following for VisualStudio.Extensibility?

There’s nonetheless a extensive, enjoyable street ahead for VisualStudio.Extensibility.  Stay tuned for phase 3 in which we’ll introduce even more beneficial situations!

 

Get Started with VisualStudio.Extensibility!

The VSExtensibility repo is your hub for obtaining begun with VisualStudio.Extensibility, wherever you will locate documentation, code samples and setup instructions.

Really don’t neglect to share your feedback!  We’d love to hear about your knowledge using these new APIs so we can make them much more constant and much easier to use as we keep on expanding VisualStudio.Extensibility.  Also, take this study to share your responses on how we can strengthen diagnosing extension issues with VisualStudio.Extensibility.

You May Also Like

About the Author: AKDSEO