Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ZipNew to Visual Studio Code? Get it now.
Zip

Zip

Olivier Cuenot

|
53 installs
| (0) | Free
Create, preview, edit, and extract zip-based files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Zip adds first-class archive support to VS Code: build zip archives from the Explorer, extract them anywhere, browse their contents in a dedicated tree view, and edit the files inside them with the regular VS Code editors — no temporary folders, no round trips outside the editor.

Features

  • Create zip archives from any selection of files and folders, with optional store-only (uncompressed) output.
  • Extract zip archives — either the whole archive or a single entry — with per-file overwrite prompts.
  • Browse archives in the Zip view, backed by a virtual file system so entries open in normal editors.
  • Modify archives in place: add, rename, move, and delete entries, including drag and drop.
  • Works with zip-based formats such as .vsix, .jar, .xlsx, or .epub via a configurable extension list.

Usage

Zipping

Right-click files or folders in the Explorer and choose Zip..., or run one of the Command Palette commands. An input box asks for the destination path and offers two inline toggles:

Toggle Effect
Omit top-level folder Stores the contents of the selected folder at the root of the archive instead of nesting them under the folder name
Store only Writes entries uncompressed (compression method 0)

When multiple items are selected, paths inside the archive are made relative to their closest common directory. Progress is reported per entry, and the finished archive can be opened straight from the notification.

Unzipping

Right-click a zip archive and choose Unzip..., or use Zip: Unzip Archive... to pick one from a dialog. You can type the destination path or browse for it — the two modes switch back and forth with an inline button. Existing files trigger an overwrite prompt with Overwrite, Skip, and …All choices.

Individual entries can be extracted the same way from the Unzip... item in the Zip view's context menu.

Browsing and editing

Clicking a zip archive in the Explorer opens it in the Zip view in the Secondary Side Bar rather than in an editor tab. From there:

  • Toggle Make Read-only / Make Read-write to guard an archive against accidental edits. The lock applies to the tree view and to any editor opened from it. Newly opened archives start read-only unless zip.archives.defaultOpenMode is set to editable.
  • Click an entry to open it in a normal editor. Saving writes the change back into the archive.
  • Use New File..., New Folder..., Rename or Move..., and Delete on entries.
  • Drag files or folders from the Explorer (or your OS) onto an entry to add them to the archive; drag entries within the view to move them, or between two open archives to copy them.
  • Drag a zip archive onto the empty area of the view to open it.
  • Pin an archive to keep it in the view. Unpinned archives are replaced when another archive is opened, and pinned archives are restored when the workspace is reopened.

A status bar item shows whether the file in the active editor is being read through an open zip archive (Extracted from Zip) or directly from disk because the archive is closed (Extracted from Closed Zip); clicking it reveals or opens the containing archive. The same action is available as Go to Containing Zip Archive in the editor title bar.

Commands

Command Description
Zip: Zip... Zip the selected Explorer items or the active editor's file
Zip: Zip Files... Pick files with a dialog, then zip them
Zip: Zip Folders... Pick folders with a dialog, then zip them
Zip: Unzip... Extract the selected zip file or the active editor's file
Zip: Unzip Archive... Pick a zip file with a dialog, then extract it
Zip: Open Zip Archive... Pick a zip file with a dialog and open it in the Zip view
Zip: Go to Containing Zip Archive Reveal the archive that the active editor's file belongs to
Zip: Reload Re-read the open archives from disk

Settings

Setting Default Description
zip.archives.defaultOpenMode "read-only" Whether archives opened in the Zip view are read-only or editable
zip.fileExtensions [".zip", ".vsix"] File extensions treated as zip files by the Explorer context menu and the file dialogs

Replace the list to add your own formats or to narrow it down. Example:

"zip.fileExtensions": [".zip", ".ear", ".jar", ".war"]

Those files open in the Zip view instead of an editor tab when they are left-clicked. This is automatically achieved by keeping one entry per extension in workbench.editorAssociations in your user settings. (This is a workaround for VS Code's default behavior that does not allow to automatically open files from the Explorer in a custom view). Example:

"workbench.editorAssociations": {
	"*.zip": "zip.redirectToTree",
	"*.ear": "zip.redirectToTree",
	"*.jar": "zip.redirectToTree",
	"*.war": "zip.redirectToTree"
}

The entries follow zip.fileExtensions as it changes, and are removed again when the extension is uninstalled.

How it works (under the hood)

Archive entries are exposed through a zip: file system provider, using URIs of the form:

zip://<url-encoded-zip-file-uri>/<zip-file-name>/<entry-path>

The zip archive's own location is carried by the authority alone, so entry paths stay relative to the zip archive, the same way Explorer paths stay relative to the workspace. So it is possible to navigate within the archive just like you would within a regular folder structure, using the tree view or the breadcrumb navigation at the top of the editor.

Because entries are ordinary VS Code resources, they work with the standard editors, diffs, language features, and Save. Writes are applied to the in-memory archive and flushed back to the underlying zip archive.

Compatibility

  • Requires VS Code 1.109.0 or newer.
  • Supported in both real and virtual workspaces.
  • Reads and writes through vscode.workspace.fs, so archives on remote and virtual file systems work as well as local ones.

Acknowledgments

This extension is based on ZipKit by Brandon Fowler.

License

GPL-3.0-or-later

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft