This is the pre-release edition of Azure Repos for early feedback and testing. It works best with VS Code Insiders.
Azure Repos
The Azure Repos extension lets you quickly browse and search any remote Azure Repos git repository directly from within Visual Studio Code.
Why do you need Azure Repos?
As developers, we often clone Git repos locally just to browse them or make small edits. We may want to look at the source code of a library we use, experiment with new tools, or just feel the desire to learn something new.
However, cloning repos takes time and maintenance, as your local copy can quickly become out of date if you don't pull changes regularly. Plus, if you don't know the codebase you're cloning, there may be security risks involved too!
The Azure Repos extension in VS Code gives you a fast, convenient, and safe way to open and browse repos quickly, either as it exists today or at any point in history, directly in VS Code.
Getting started
You can quickly and easily open an Azure Repos repository either by searching for Remote Repositories: Open Remote Repository... from the Command Palette (press F1
), or by choosing Open Remote Repository... from the remote indicator (the green button in the lower left corner of the status bar).
You'll be prompted to authenticate with your Azure account. You can then search for a repo within your organization and project.
Features
This extension provides the following support for git repositories on Azure Repos:
- Open any Azure repository directly from Azure Repos; no cloning or local repository required.
- Copy/paste links directly from Azure Repos to open the repository directly in VS Code.
- Repositories always open to the latest version.
- Switch between branches and tags in the repository using the branch picker in the status bar.
- Edit files on Azure Repos. changes will go directly to Azure Repos on commit — no pushing or publishing branches required.
- Working changes are independent to the branch — work on multiple branches simultaneously!
- When you pause work on one branch and switch to another one, you don’t need to stash your changes — they’ll stay on the previous branch, and when you go back, your changes will be there to pick up right where you left off.
- Automatically detects if there are new changes on Azure Repos — always stay up to date.
- Indicates the number of unpulled commits on the status bar.
- Flags potential merge conflicts if you've modified the same file as someone else.
- Open Remote Repositories in the Remote Explorer to see all the Azure Repos repositories you've accessed.
- You can quickly open an Azure repository to continue working, or view and compare any uncommitted changes you may have. Additionally, you can apply uncommitted changes across branches from the same repository.
- Search files in the repository.
Continue Working On...
When working with Azure Repos repositories, you have several options to continue working in a more powerful environment.
- When you choose Continue Working On... from the Command Palette or from the remote indicator, you're presented the option to continue your work locally, in a container volume (if you have the Remote - Containers extension), or by cloning locally.
Limitations
When you work in a traditional git workflow (i.e. git clone
), files are saved to your computer’s local file system. But when working with Azure Repos, the code doesn’t live on your local computer: it’s still just on Azure Repos. You work with the code through a virtual file system, which is an abstraction that simulates having local files while getting the content from somewhere else; Azure Repos in this case. When you open a workspace on a virtual file system, it’s known as a virtual workspace.
There are certain limitations while working with virtual workspaces:
- Debugging, terminals, and tasks are not currently supported. Terminals open on your local file system and don’t have access to the virtual file system of the remote repository.
- Limited language intelligence - Features like IntelliSense and go-to-definition may be impacted as many languages don't yet understand the virtualized environment of Azure Repos.
- Extensions - Not all extensions can support running in a virtual workspace, but over time more extensions will support it. For example, extensions that depend on direct access to local files won't be able to support this.
You can learn more about virtual file systems, workspaces, and how to implement them for extensions in the virtual workspaces guide.
As we continue development of Azure Repos, expect the feature set to grow and the limitations to shrink!
Updates and release notes
While an optional install, this extension releases along with VS Code. The VS Code release notes will include a summary of changes.
You can also install the pre-release version of this extension for early feedback and testing. The pre-release version of this extension works best in VS Code Insiders.
Questions, feedback, contributing
Have a question or feedback?
You can file an issue or feature request.
Or connect with the community...
Telemetry
The Azure Repos extension collects telemetry data to help us build a better experience working remotely from VS Code. The extension respects the telemetry.enableTelemetry
setting which you can learn more about in the Visual Studio Code FAQ.
License
By downloading and using the Azure Repos extension and its related components, you agree to the product license terms and privacy statement.