StudioZip:Supported Formats
Studio ZIP reads many archive formats. Only the ZIP family can also be written.
Overview
| Group | Formats | Read | Write |
|---|---|---|---|
| ZIP family | .zip, .jar, .war, .apk, .vsix, .epub and more, see below |
yes | yes |
| tar | .tar, .gem |
yes | no |
| Compressed tar | .tar.gz, .tgz, .taz, .tar.bz2, .tbz, .tbz2, .tar.xz, .txz, .tar.zst, .tzst, .unitypackage, .crate |
yes | no |
| Single compressed files | .gz, .bz2, .xz, .zst, .br |
yes | no |
| Packages | .deb, .udeb, .a, .ar, .rpm, .cpio |
yes | no |
| Other archives | .7z, .rar, .cab, .iso |
yes | no |
| Electron bundles | .asar |
yes | no |
Not supported: .msi, .dmg, squashfs and .AppImage, .pkg (xar), lha, .lz4, .lz, .lzo and old Unix .Z files.
Opens on click
Studio ZIP is the default editor for these file name patterns. Clicking such a file in the Explorer opens the Studio ZIP tab.
| Group | Extensions |
|---|---|
| ZIP | .zip, .zipx
|
| Java and Android | .jar, .war, .ear, .aar, .jmod, .apk, .aab, .apks
|
| Apps and plugins | .ipa, .vsix, .xpi, .crx, .oxt, .msix, .msixbundle, .appx, .appxbundle
|
| Package managers | .nupkg, .snupkg, .whl, .egg, .pyz, .conda, .crate, .gem, .unitypackage
|
| Documents | .epub, .docm, .xlsm, .pptm, .dotx, .xltx, .potx, .vsdx
|
| Games | .love, .mcaddon, .mcworld, .mcpack
|
| tar and compressed | .tar, .tgz, .taz, .gz, .bz2, .tbz, .tbz2, .xz, .txz, .zst, .tzst, .br
|
| Packages | .deb, .udeb, .ar, .a, .rpm, .cpio
|
| Other | .7z, .rar, .iso, .cab, .asar
|
A .tar.gz matches *.gz, a .tar.xz matches *.xz and so on.
Two exceptions:
.asaris in the list, but VS Code itself treats an.asarfile as a folder, so a click never reaches Studio ZIP. UseStudio ZIP: Mount Archive as Workspace Folderfrom the Command Palette instead. An.asarinside another archive opens normally.- Office files
.docx,.xlsx,.pptx,.odt,.odsand.odpare not in the list, so clicking them in the Explorer does not open Studio ZIP. Studio ZIP still recognizes them as ZIP archives when they are inside another archive. There they get the archive icon and open in their own Studio ZIP tab.
Format detection
File extensions are often wrong, for example a .zip that is really a 7z file. By default Studio ZIP reads the first bytes of the file and picks the format from its signature. Only if no signature matches does it use the file extension.
| Format | Signature |
|---|---|
| ZIP | PK\x03\x04, also PK\x05\x06 (empty archive) and PK\x07\x08 (spanned)
|
| tar | ustar at byte 257
|
| gzip | 1F 8B
|
| bzip2 | BZh
|
| xz | FD 37 7A 58 5A
|
| zstd | 28 B5 2F FD
|
| 7z | 37 7A BC AF 27 1C
|
| RAR | Rar!
|
ar (.deb, .a) |
!<arch>
|
| RPM | ED AB EE DB
|
| cpio | 070701, 070702 or 070707
|
| CAB | MSCF
|
Brotli (.br), ISO and asar files are always detected by their extension.
To trust only the file extension, set studioZip.detection.useMagicBytes to false. See Commands and Settings.
Notes per format
ZIP family
Read with random access, so opening a file does not unpack the rest. Archives larger than 2 GB work. Saving rewrites the archive, see Editing Archives.
Compressed files
A .gz, .bz2, .xz, .zst or .br file is unpacked once when it is opened.
- If the content is a tar archive, the tab shows the full tar listing.
- Otherwise the tab shows a single file named after the archive without the compression suffix.
notes.txt.gzcontainsnotes.txt. A.tgzor.txzthat holds no tar contains<name>.tar.
zstd uses the decoder built into newer VS Code versions. Older versions fall back to a decoder bundled with the extension.
tar
GNU and PAX long file names are supported. A plain .tar on disk is not copied or unpacked, only its headers are read. Links and device files are listed as empty files.
Packages
- A
.debshows its three parts as they are:debian-binary,control.tar.*anddata.tar.*. Opendata.tar.zstordata.tar.xzlike any nested archive to see the packaged files. - An
.rpmshows the files of its cpio payload. The payload may be compressed with gzip, xz, zstd or bzip2, or not at all. .cpioarchives in thenewc,crcand portable ASCII (odc) formats are supported.
7z, RAR, CAB and ISO
These are read with a WebAssembly build of libarchive that ships with the extension. It is loaded only when you open such a file. RAR and RAR5 are supported. Password protected 7z and RAR archives cannot be read.
asar
Read with random access. Files that the app keeps outside the bundle (.unpacked) and symbolic links are listed, but they have no content inside the archive and show as empty.
Memory use
Formats that must be unpacked as a whole (compressed tar, single compressed files, RPM, 7z, RAR, CAB, ISO) are unpacked once into memory when they are opened. Above 64 MB the unpacked data goes to a temporary file in the extension's storage folder instead. The file is deleted when the archive is closed.
Nested archives
A file inside an archive that has one of the archive extensions is treated as a nested archive. It gets an archive icon in the tree, and Open in editor opens it in its own Studio ZIP tab. Nesting has no depth limit, for example data.tar.zst inside a .deb, or a .jar inside a .war inside a .zip.
The bytes of a nested archive are taken from the outer archive and kept in memory while it is open. Writing works when every archive in the chain is a ZIP. See Which archives can be written.
Encrypted archives
Encrypted ZIP entries can be read. Both WinZip AES (128, 192 and 256 bit) and the older ZipCrypto method are supported.
- Encrypted files have a lock icon in the tree. The archive listing itself is never encrypted, so the tree always opens without a password.
- The preview does not show encrypted files. Use Open in editor or Extract….
- The first time an encrypted file is read, Studio ZIP asks for the password in an input box titled
Password for <archive>. - The password is kept in memory for this VS Code window only. It is not saved anywhere. After a reload you are asked again.
- A wrong password shows
Wrong password.The next attempt asks again. - An archive with encrypted entries cannot be written. See Editing Archives.
Encrypted entries in 7z and RAR archives are listed with a lock icon, but their content cannot be read.
| Studio ZIP | |
|---|---|
| Start | Installation |
| Features | Archive Tab · Preview · Editing Archives · Supported Formats |
| Reference | Commands and Settings · FAQ · Version History |
| Links | Project page on mutigeraffe.com · Download on the VS Code Marketplace |