Skip to content
SVN support for VS Code
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode fix: Removed sync fs calls from model (#505) Mar 16, 2019
.releaserc.json ci: fixing symantic release (#382) Oct 16, 2018
.vscodeignore chore(release): 1.47.5 [skip ci] Mar 16, 2019
LICENSE removed travis [skip ci] Mar 15, 2019
build.yml chore: Publish code coverage results (#509) Mar 19, 2019
coverconfig.json chore: Publish code coverage results (#509) Mar 19, 2019
tsconfig.json updated tsconfig and corrected import path Nov 28, 2017

Subversion source control for VS Code

Version Installs Ratings

Build Status semantic-release

Dependencies Status DevDependencies Status Greenkeeper badge

codecov Known Vulnerabilities


Average time to resolve an issue Percentage of issues still open

Gitter chat


Note: This extension leverages your machine's SVN installation,
so you need to install SVN first.


If you use TortoiseSVN, make sure the option Command Line Tools is checked during installation and C:\Program Files\TortoiseSVN\bin is available in PATH.

Feedback & Contributing

  • Please report any bugs, suggestions or documentation requests via the Issues
  • Feel free to submit pull requests



  • Source Control View
  • Quick Diffs in gutter
  • Status Bar
  • Create changelists
  • Add files
  • Revert edits
  • Remove files
  • Create branches
  • Switch branches
  • Create patches
  • Diff changes
  • Commit changes/changelists
  • See commit messages


Please use a dedicated extension like blamer-vs


* SVN Status in File Explorer (See #34)

How to enable:

  • Open the file: <vscode path>\resources\app\product.json
  • Find extensionAllowedProposedApi
  • Append "johnstoncode.svn-scm" in the array


  "extensionAllowedProposedApi": [
// TO
  "extensionAllowedProposedApi": [
    "ms-vsliveshare.vsliveshare", "johnstoncode.svn-scm"


Config Description Default
svn.enabled Whether svn is enabled true
svn.autorefresh Whether auto refreshing is enabled true
svn.decorations.enabled Controls if SVN contributes colors and badges to the explorer and the open (VSCode >= 1.18 with proposed-api) true
svn.path Path to the svn executable null
svn.defaultCheckoutDirectory The default location to checkout a svn repository. null
svn.ignoreRepositories List of SVN repositories to ignore. null
svn.ignoreMissingSvnWarning Ignores the warning when SVN is missing false
svn.ignoreWorkingCopyIsTooOld Ignores the warning when working copy is too old false
svn.diff.withHead Show diff changes using latest revision in the repository. Set false to use latest revision in local folder true
svn.layout.trunkRegex Regex to detect path for 'trunk' in SVN URL, 'null' to disable. (Ex.: '(trunk)', '(main)') "(trunk)(/.*)?"
svn.layout.trunkRegexName Regex group position for name of trunk 1
svn.layout.branchesRegex Regex to detect path for 'branches' in SVN URL, 'null' to disable. Subpath use 'branches/[^/]+/([^/]+)(/.*)?' (Ex.: 'branches/...', 'versions/...') "branches/([^/]+)(/.*)?"
svn.layout.branchesRegexName Regex group position for name of branch 1
svn.layout.tagsRegex Regex to detect path for 'tags' in SVN URL, 'null' to disable. Subpath use 'tags/[^/]+/([^/]+)(/.*)?'. (Ex.: 'tags/...', 'stamps/...') "tags/([^/]+)(/.*)?"
svn.layout.tagRegexName Regex group position for name of tag 1
svn.layout.showFullName Set true to show 'branches/<name>' and false to show only '<name>' true
svn.multipleFolders.enabled Allow to find subfolders using SVN false
svn.multipleFolders.depth Maximum depth to find subfolders using SVN 4
svn.multipleFolders.ignore Folders to ignore using SVN ["**/.git","**/.hg","**/vendor","**/node_modules"]
svn.sourceControl.ignoreOnCommit Changelists to ignore on commit ["ignore-on-commit"]
svn.sourceControl.ignoreOnStatusCount Changelists to ignore on status count ["ignore-on-commit"]
svn.detectExternals Controls whether to automatically detect svn externals. true
svn.sourceControl.combineExternalIfSameServer Combine the svn external in the main if is from the same server. false
svn.sourceControl.countUnversioned Allow to count unversioned files in status count true
svn.log.length Number of commit messages to log 50
svn.showOutput Show the output window when the extension starts false
svn.conflicts.autoResolve Set file to status resolved after fix conflictss false
svn.update.ignoreExternals Set to ignore externals definitions on update (add --ignore-externals) true
svn.delete.actionForDeletedFiles When a file is deleted, what SVN should do? none - Do nothing, prompt - Ask the action, remove - automatically remove from SVN "prompt"
svn.delete.ignoredRulesForDeletedFiles Ignored files/rules for svn.delete.actionForDeletedFiles(Ex.: file.txt or **/*.txt) []
svn.default.encoding Encoding of svn output if the output is not utf-8. When this parameter is null, the encoding is automatically detected. Example: 'windows-1252'. null
svn.showUpdateMessage Show the update message when update is run true
svn.remoteChanges.checkFrequency Set the interval in seconds to check changed files on remote repository and show in statusbar. 0 to disable 300
svn.sourceControl.hideUnversioned Hide unversioned files in Source Control UI false
svn.refresh.remoteChanges Refresh remote changes on refresh command false
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.