Team Foundation Version Control (TFVC) source control integration for VS Code. Connects directly to Azure DevOps via REST — no TEE-CLC or tf command-line tool required.
Works with both Azure DevOps Services (cloud) and Azure DevOps Server (on-prem).
Screenshots coming soon — see the Features section below for a functional overview.
- SCM sidebar integration — pending changes shown in VS Code's Source Control view (Included / Excluded / Conflicts groups)
- Check in / undo / sync — standard TFVC operations against the server
- Auto-checkout on save or edit — configurable, for files that need to be locked for editing
- Shelvesets — create, list, and unshelve shelved changes
- History — view changeset history for any file
- Code reviews — browse and respond to TFVC code reviews (shelveset-based) without leaving the editor
- File-by-file diff view (base vs shelved)
- Inline comments via VS Code's Comments API
- Submit verdicts: Looks Good / With Comments / Needs Work / Declined
- File decorations — M / A / D / C badges in the file explorer
- Workspace initialization — one command sets up baseline state; no Visual Studio or TEE-CLC install needed
- A TFVC project hosted on Azure DevOps Services (
dev.azure.com) or Azure DevOps Server (on-prem). - A Personal Access Token (PAT) with these scopes:
- Code → Read & write (for source control operations, including shelvesets)
- Work Items → Read & write (for code reviews and verdict submission — review requests and responses are ADO work items)
- VS Code 1.85.0 or newer.
- Install the extension from the Marketplace (search for "TFVC").
- Set your PAT: open the command palette and run
TFVC: Set PAT (Personal Access Token). The token is stored in VS Code's SecretStorage. - Configure the server in VS Code settings:
- For cloud: set
tfvc.adoOrg(e.g.myorg) andtfvc.adoProject. - For on-prem: set
tfvc.adoBaseUrl(e.g.https://devops.example.com),tfvc.adoCollectionPath(e.g./tfs/DefaultCollection), andtfvc.adoProject.
- For cloud: set
- Initialize the workspace: run
TFVC: Initialize Workspace. This creates.vscode-tfvc/with baseline state so the extension can detect local changes. - Open the Source Control view — pending changes appear as you edit files.
| Setting | Description | Default |
|---|---|---|
tfvc.adoOrg |
Azure DevOps organization name (cloud only). | "" |
tfvc.adoProject |
Azure DevOps project name. | "" |
tfvc.adoBaseUrl |
On-prem ADO Server base URL. Leave empty for cloud. | "" |
tfvc.adoCollectionPath |
On-prem collection path (e.g. /tfs/DefaultCollection). |
"" |
tfvc.adoApiVersion |
Override the ADO REST api-version query parameter. Leave empty for auto (7.1 cloud, 6.0 on-prem). Older TFS: 4.1 (2018), 5.0/5.1 (2019). |
"" |
tfvc.autoCheckout |
When to auto-checkout files: disabled, onSave, onEdit. |
onSave |
tfvc.autoRefreshInterval |
Auto-refresh interval in seconds. 0 disables. |
0 |
tfvc.strictSSL |
Validate the server's TLS certificate. Set to false to trust self-signed or internal-CA certs on on-prem — disables verification entirely, so only flip on trusted networks. |
true |
tfvc.proxy |
HTTP proxy URL (e.g. http://user:pass@proxy.corp:8080). Empty falls back to the HTTPS_PROXY / HTTP_PROXY env vars. |
"" |
tfvc.reviewRequestOpenState |
Workflow state used to filter open code reviews. Localized per server ("Angefordert" on German TFS). |
"Requested" |
tfvc.reviewResponseClosedState |
Workflow state the verdict flow transitions a Code Review Response to. Localized per server ("Geschlossen" on German TFS). |
"Closed" |
Work item type and category lookups happen via language-neutral category reference names (Microsoft.CodeReviewRequestCategory / Microsoft.CodeReviewResponseCategory), so those need no configuration. Workflow state values are still localized — override tfvc.reviewRequestOpenState and tfvc.reviewResponseClosedState on non-English servers.
- Large repositories: initial workspace initialization downloads baseline metadata for all mapped files. This can be slow for very large trees.
- SOAP parsing via regex: the code review comment client parses SOAP responses with regex rather than a full XML parser. Well-formed ADO responses work; unusual responses may not.
- Multi-root workspaces: the extension picks a single workspace folder and warns if multiple folders contain
.vscode-tfvc/. For full isolation, open each TFVC project in its own VS Code window. - No automatic retry: transient network failures aren't automatically retried.
All commands are available under the TFVC: category in the command palette:
Initialize Workspace,Set PAT (Personal Access Token)Refresh,Check In,Get Latest (Sync),Check Out (Lock for Edit)Undo,Undo All Changes,Add File,Delete FileOpen Diff,Open File,Show HistoryShelve Changes,Unshelve Changes,List ShelvesetsRefresh Code Reviews,Submit Review Verdict
MIT — see the LICENSE file for details.