IWA Studio is a VS Code extension designed to provide a smooth, integrated experience for developing Isolated Web Apps (IWAs). It provides a rich set of tools to create, build, sign, and install your IWAs without leaving your editor.
- Project Scaffolding: Quickly start a new IWA project from official templates.
- Developer Dashboard: A dedicated view in the activity bar for easy access to all key features.
- Build & Dev Integration: Run your development server and build scripts directly from the dashboard.
- Key Management: Generate encrypted
ed25519orp-256private keys for signing your web bundles. - Bundle Explorer: Inspect the contents of your Signed Web Bundle (
.swbn) files within VS Code. - IWA Installation: Install your IWA on a local or remote Chrome instance for testing and debugging.
- Bundle ID Extraction: Easily get the Bundle ID from a
.swbnfile via the context menu.
IWA Studio adds a new icon to the activity bar, which opens the Developer Dashboard. This dashboard provides a user-friendly tree view to access the extension's core functionalities, categorized into Project, Tools, and Installation.
You can access these commands from the VS Code Command Palette (Ctrl+Shift+P or Cmd+Shift+P) or the Developer Dashboard:
- IWA Studio: Create new IWA: Scaffolds a new IWA project.
- IWA Studio: Run Dev Script: Runs the development server script defined in your settings.
- IWA Studio: Run Build Script: Runs the production build script defined in your settings.
- IWA Studio: Generate Private Key: Generates a new encrypted private key for signing your IWA.
- IWA Studio: Open Bundle Explorer: Opens the Web Bundle Explorer to inspect a
.swbnfile. - IWA Studio: Launch Chrome and install IWA: Installs your IWA on a locally running Chrome instance.
- IWA Studio: Connect to Chrome and install IWA: Installs your IWA on a remote Chrome instance.
Customize IWA Studio's behavior by modifying these settings in your workspace or user settings.json:
iwa-studio.devServerScript: The npm script to run the development server (default:npm run dev).iwa-studio.buildScript: The npm script to build the IWA for production (default:npm run build).iwa-studio.privateKeyName: The filename for your encrypted private key (default:encrypted_key.pem).iwa-studio.devServerAddress: The address of your local development server.iwa-studio.chromeRemoteServerAddress: The address of your remote Chrome debugging server for remote installation.iwa-studio.httpServerAddress: The address for the local HTTP server that hosts the Signed Web Bundle for remote installation.iwa-studio.chromeLaunchArguments: Custom arguments for launching Chrome (default:--enable-features=IsolatedWebApps,IsolatedWebAppDevMode).
This is not an officially supported Google product. This project is not eligible for the Google Open Source Software Vulnerability Rewards Program.