<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.mutigeraffe.com/index.php?action=history&amp;feed=atom&amp;title=StudioZip%3AEditing_Archives</id>
	<title>StudioZip:Editing Archives - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mutigeraffe.com/index.php?action=history&amp;feed=atom&amp;title=StudioZip%3AEditing_Archives"/>
	<link rel="alternate" type="text/html" href="https://wiki.mutigeraffe.com/index.php?title=StudioZip:Editing_Archives&amp;action=history"/>
	<updated>2026-10-21T04:37:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.mutigeraffe.com/index.php?title=StudioZip:Editing_Archives&amp;diff=2523&amp;oldid=prev</id>
		<title>Maintenance script: StudioZip wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.mutigeraffe.com/index.php?title=StudioZip:Editing_Archives&amp;diff=2523&amp;oldid=prev"/>
		<updated>2026-10-20T21:29:46Z</updated>

		<summary type="html">&lt;p&gt;StudioZip wiki&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Studio ZIP adds a file system with the scheme &amp;lt;code&amp;gt;zipfs:&amp;lt;/code&amp;gt; to VS Code. Files inside an archive can be opened through it like normal files: in editor tabs, with syntax highlighting, find and replace and the other editor features of VS Code.&lt;br /&gt;
&lt;br /&gt;
== Opening a file in an editor tab ==&lt;br /&gt;
In the [[StudioZip:Archive Tab|Studio ZIP tab]], hover a file and click &amp;#039;&amp;#039;Open in editor&amp;#039;&amp;#039;.&lt;br /&gt;
* A normal file opens in a regular VS Code editor tab.&lt;br /&gt;
* A nested archive, for example a &amp;lt;code&amp;gt;.jar&amp;lt;/code&amp;gt; inside a &amp;lt;code&amp;gt;.war&amp;lt;/code&amp;gt;, opens in its own Studio ZIP tab. From there you can go one level deeper in the same way.&lt;br /&gt;
&lt;br /&gt;
Files from archives that cannot be written open as read-only editors.&lt;br /&gt;
&lt;br /&gt;
== Mounting an archive ==&lt;br /&gt;
You can also add an archive to the workspace as an extra folder. It then appears in the Explorer like any other folder, and you can browse, open, create, rename and delete files there.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;From the Explorer:&amp;#039;&amp;#039;&amp;#039; right-click the archive and choose &amp;#039;&amp;#039;Mount Archive as Workspace Folder&amp;#039;&amp;#039;. This menu entry is shown for &amp;lt;code&amp;gt;.zip&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.jar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.war&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.ear&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.aar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.apk&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.ipa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.vsix&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.nupkg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.whl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.xpi&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.crx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;.epub&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;From the Command Palette:&amp;#039;&amp;#039;&amp;#039; run &amp;lt;code&amp;gt;Studio ZIP: Mount Archive as Workspace Folder&amp;lt;/code&amp;gt; and choose the archive in the file dialog. This works for the other formats too, including &amp;lt;code&amp;gt;.asar&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The folder is added at the end of the workspace and named after the archive. VS Code cannot show the content under the archive file itself, so it is a separate folder at the bottom of the Explorer. If the archive is already mounted, you get the message &amp;lt;code&amp;gt;&amp;amp;lt;name&amp;amp;gt; is already mounted.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove it again, run &amp;lt;code&amp;gt;Studio ZIP: Unmount Archive Workspace Folder&amp;lt;/code&amp;gt; and pick the archive from the list, or remove the folder from the workspace as usual. Unmounting does not change the archive.&lt;br /&gt;
&lt;br /&gt;
Searching across files (&amp;lt;code&amp;gt;Ctrl+Shift+F&amp;lt;/code&amp;gt;) does not cover mounted archives. Studio ZIP provides no search for its file system.&lt;br /&gt;
&lt;br /&gt;
== Which archives can be written ==&lt;br /&gt;
Only the &amp;#039;&amp;#039;&amp;#039;ZIP family&amp;#039;&amp;#039;&amp;#039; can be written: &amp;lt;code&amp;gt;.zip&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.jar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.war&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.apk&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.vsix&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.epub&amp;lt;/code&amp;gt; and every other format that is a ZIP inside. See [[StudioZip:Supported Formats|Supported Formats]].&lt;br /&gt;
&lt;br /&gt;
All other formats are read-only. Changing a single file in a &amp;lt;code&amp;gt;.tar.xz&amp;lt;/code&amp;gt; would mean compressing the whole archive again on every save. Their files open as read-only editors, and the summary line of the Studio ZIP tab shows &amp;lt;code&amp;gt;read-only&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A nested archive can be written if every archive in the chain is a ZIP, for example a &amp;lt;code&amp;gt;.jar&amp;lt;/code&amp;gt; inside a &amp;lt;code&amp;gt;.war&amp;lt;/code&amp;gt;. Saving it writes the inner archive back into the outer one. A ZIP inside a &amp;lt;code&amp;gt;.tar.gz&amp;lt;/code&amp;gt; is read-only, because the outer archive cannot be written.&lt;br /&gt;
&lt;br /&gt;
An archive that contains encrypted files cannot be written at all. Saving fails with &amp;lt;code&amp;gt;Cannot write to an archive with encrypted entries (&amp;amp;lt;name&amp;amp;gt;).&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What you can change ==&lt;br /&gt;
In a writable archive, the following work from an editor tab or a mounted folder:&lt;br /&gt;
* Save changes to a file (&amp;lt;code&amp;gt;Ctrl+S&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Create new files and folders. Missing parent folders are created with them.&lt;br /&gt;
* Delete files and folders. Deleting a folder removes everything in it.&lt;br /&gt;
* Rename and move files and folders inside the same archive.&lt;br /&gt;
&lt;br /&gt;
Moving a file from one archive into another is not possible in one step. Studio ZIP refuses it with &amp;lt;code&amp;gt;Studio ZIP cannot move entries between archives.&amp;lt;/code&amp;gt; Copy the file and delete the original instead.&lt;br /&gt;
&lt;br /&gt;
== How saving works ==&lt;br /&gt;
ZIP has no way to change one file in place, so every save writes the whole archive again.&lt;br /&gt;
* The new archive is written to a temporary file next to the original (&amp;lt;code&amp;gt;&amp;amp;lt;archive&amp;amp;gt;.studio-zip-&amp;amp;lt;random&amp;amp;gt;.tmp&amp;lt;/code&amp;gt;). Only when it is complete does it replace the original. If VS Code crashes while writing, the original stays as it was.&lt;br /&gt;
* The file permissions of the archive itself are kept.&lt;br /&gt;
* Files you did not change are copied over one at a time with their compression method, modification time and Unix permissions, including the executable bit. A stored (uncompressed) file stays stored. This matters for &amp;lt;code&amp;gt;.epub&amp;lt;/code&amp;gt;, where the &amp;lt;code&amp;gt;mimetype&amp;lt;/code&amp;gt; file must not be compressed.&lt;br /&gt;
* The order of the files is kept. New files are added at the end.&lt;br /&gt;
* Files you changed or added are compressed and get the current time.&lt;br /&gt;
* Saves to the same archive run one after another, so two quick saves cannot overwrite each other.&lt;br /&gt;
&lt;br /&gt;
Large archives are written in a stream, so saving a file in an archive of several gigabytes does not load the whole archive into memory. Saving still takes longer the larger the archive is.&lt;br /&gt;
&lt;br /&gt;
{{StudioZip Nav}}&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>