|
![]() GitHub |
![]() |
🧩 VS Code |
✨ Features
- 📁 Tree view of
.jar
,.war
,.ear
,.zip
and.vsix
file structures - 🧬 View
.class
files with syntax highlighting and decompiled Java source - 🧪 Integrates with your custom JAR-based decompiler (e.g. CFR)
- ⚙️ Configurable paths for Decompiler JAR and JDK
- ⏳ Displays loading state while decompiling large files
- 🚫 Supports cancellation and automatic timeout for stuck decompilation
- 🧹 Clean and modern WebView interface with file tabs
- 📂 Handles multiple JAR/WAR/EAR/ZIP files simultaneously
- 🔁 Supports nested archives (e.g. JAR inside WAR, WAR inside EAR)
- 🖼️ View embedded images:
.png
,.jpg
,.jpeg
,.gif
,.svg
directly in the viewer - ❌ Remove from Jar Explorer option for closing archives quickly
- 🧭 Dedicated navigation icon in the Activity Bar for quick access to the Jar Explorer
📽 Demo
🧪 How to Use This Extension
Follow these steps to explore and decompile .jar
, .war
,.ear
,.zip
and .vsix
archives right inside VS Code:
1️⃣ Install Java
- Install Java 21.
- Make sure the Java binary
bin path
is available in your systemPATH
. - Alternatively, set the Java path manually in extension settings.
2️⃣ Open an Archive
- Right-click any supported archive file (
.jar
,.war
,.ear
,.zip
,.vsix
) - Select 🧩 Open in JAR Explorer
- Or simply click the file in the VS Code Explorer
📌 The file will open in the Jar Explorer side panel
3️⃣ Browse Files in Tree View
- The archive opens in a folder-like structure
- You can expand folders and view all contained files, including nested archives
4️⃣ View Any File
- Click on any file (
.class
,.xml
,.json
,.png
, etc.) - The content will open in a dedicated VS Code editor tab
.class
files are automatically decompiled.
5️⃣ Open Nested Archives
- If an archive contains another archive (e.g.,
.jar
inside.war
), just click on it - It will appear as a subfolder in the Jar Explorer, allowing further navigation
6️⃣ Need Help?
- If you're stuck, feel free to ask a question in the Marketplace Q&A section
- Feedback and suggestions are always welcome!
📁 Supported File Types
File Type | Description |
---|---|
.jar |
Java Archive – used for packaging Java classes, libraries, and metadata |
.war |
Web Application Archive – used to package web applications (Servlets, JSP, HTML, etc.) |
.ear |
Enterprise Application Archive – packages multiple Java EE modules (JARs, WARs) for deployment |
.zip |
ZIP Archive – compressed archive for bundling multiple files with optional compression |
.vsix |
VS Code Extension Package – used to distribute and install Visual Studio Code extensions |
⚙️ Requirements
- Java JDK 21 installed or added to PATH
🔧 Extension Settings
This extension contributes the following settings:
Setting | Description |
---|---|
jarExplorer.jdkPath |
Path to your Java executable (java ) |
You can add these in your settings.json
:
{
"jarExplorer.jdkPath": "D:\\software\\jdk-21.0.4\\bin\\java.exe",
}
📝 Release Notes
📦 v1.1.0
- Added support for
.war
,.ear
,.zip
and.vsix
archives - Full support for nested archives (e.g.,
.jar
inside.war
) - Embedded image viewing:
.png
,.jpg
,.jpeg
,.gif
,.svg
- Improved decompiler support: loading indicators, cancel, and timeout
- Modern WebView UI with tabs and syntax-highlighted
.class
files - Activity Bar icon for quick access to Jar Explorer
- Option to remove files from explorer tree
- Handles multiple archive files simultaneously
See full changelog in CHANGELOG.md
📦 v1.0.0
- Added support for viewing files other than
.class
files within the.jar
. - Improved file opening behavior and view handling.
- Multiple
.jar
files can now be opened simultaneously in the Jar Explorer tab. - This is stable release.
📦 v0.0.1
- Initial beta release with support for viewing
.class
files.
💳 Credits
- We have used the CFR Decompiler (https://www.benf.org/other/cfr) to reverse engineer .class files. CFR was chosen for its accuracy, support for modern Java features, and ease of integration into Java-based tooling workflows.
- Icons used from JAR Explorer icon created by bearicons - Flaticon
🙌 Stay Connected
If you find this extension helpful, consider supporting it:
![]() |
⭐️ Star and Follow the project on GitHub |
![]() |
Follow me on LinkedIn: linkedin.com/in/shivwakchaure |
Your feedback, stars, and shares mean a lot! 💙