Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

This is a repo to help the extension builder community create new SCM providers for Visual Studio Code. It contains samples as well as instructions for getting going.

License

microsoft/vscode-SCMBuilders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Visual Studio Code - Source Control Management

TIP: Our work in progress API documentation can be found here.

TL;DR

Welcome, if you have ever wanted to add an additional source code management (SMC) system to VS Code then you have landed in the right place.

Here you will find instructions on how to create a provider incl. an API Overview, pointers to sample code, a [list of others] working on providers, and be able to get help from the development team.

Background & Rationale

From day 1 VS Code shipped with integrated Git support but of course not everyone is a Git user. Right from our initial launch one of the most requested features has been adding a plugable SCM provider model - which would enable other SCM systems to be fully integrated e.g. Subversion, Mecurial.

What's Possible via the API

The short answer is that anything that you could do as a user in the Integrated Git tooling has been exposed as an API. This includes:

  • Committing/Checking in files
  • Status bar notifications and actions
  • Diffing files (full diff and partial, in-line and side-by-side)
  • Change branches/tags
  • Conflict resolution
  • Full CLI interactions/output visible

Review our documentation page to get an overview of the Git feature set including screen grabs...

Why Now - Are We Ready

Over the last few months we have been working on creating an extension point in VS Code for this purpose. Our approach was to ensure that we had a very stable and fully featured API before reaching our to the community.

We achieved that by moving our Integrated Git support over to this model and by working with the Visual Studio Team Services team to add Team Foundation Version Control (TFVC) support.

Both of these extensions are open source (see links) and are implemented using the API.

We have been testing the Git extension for several months both internally and externally via our Insiders build, the TFVC extension is also well tested.

In short the API is mature enough and complete enough for others to build on.

Next Steps & Roll-out

Today the API is a 'preview' API that can only be used with the Insiders build. SCM Providers also cannot be published to the marketplace. But that is all about to change - we plan to take the following steps a part of our next update in early April.

  • The full API will move from 'preview' to 'supported'
  • This will enable all versions of VS Code i.e. Stable as well as Insiders
  • We will allow providers to be uploaded ot the marketplace
  • We will show users how to discover other providers and switch between them

Exciting times!

About

This is a repo to help the extension builder community create new SCM providers for Visual Studio Code. It contains samples as well as instructions for getting going.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published