Create Spring Boot projects directly from VS Code — just like IntelliJ IDEA.
🎥 Demo

📖 What is Spring Initializer?
Spring Initializer is a VS Code extension that brings the full power of Spring Initializr directly into your editor. Generate complete Spring Boot projects with dependencies, build configuration, and project metadata — all from a beautiful, modern interface that feels just like IntelliJ IDEA.
No more switching to your browser. No more downloading and extracting ZIP files manually. Just configure, click, and start coding.
✨ Features
- 🎯 Full Spring Initializr integration — all versions, all dependencies
- 🎨 Beautiful modern UI with dark & light theme support
- 🚀 One-click project generation — from form to open project in seconds
- 📦 All build tools — Maven, Gradle (Groovy & Kotlin DSL)
- ☕ All JVM languages — Java, Kotlin, Groovy
- 📚 300+ dependencies — searchable, categorized, with descriptions
- 🔄 Live theme sync — automatically matches your VS Code theme
- ⚡ Status bar shortcut — always one click away
- 📁 Right-click integration — generate directly into any folder
- 🛡️ Offline-ready validation — checks ZIP integrity before extracting
🚀 Quick Start
Installation
-
- Open
VS Code
- Open
-
- Go to Extensions (
Ctrl+Shift+X)
- Go to Extensions (
-
- Search for
"Spring Initializer"
- Search for
-
- Click
Install
- Click
-
Or install via command line:
code --install-extension qewr1324.spring-initializer
🚀 Usage
| Method | How |
|---|---|
| Status Bar | Click $(project) Spring Initializer in the bottom bar |
| Command Palette | Ctrl+Shift+P → Spring Initializer: New Project |
| Right-click | Right-click any folder → Spring Initializer: New Project |
Alternative ways to launch
📁 Project Structure
spring-initializer/
├── 📄 package.json # Extension manifest
├── 📄 tsconfig.json # TypeScript configuration
├── 📁 src/ # Extension source code
│ ├── 📄 extension.ts # Entry point & command registration
│ ├── 📄 apiService.ts # Spring Initializr API client
│ └── 📄 springInitializerPanel.ts # Webview panel logic
├── 📁 media/ # Webview assets
│ ├── 🎨 styles.css # Complete UI stylesheet (dark + light)
│ └── 📜 main.js # Frontend logic
├── 📁 res/ # Icons & images
│ └── 🖼️ spring-icon-big.png # Extension icon
└── 📁 dist/ # Compiled output
└── 📄 extension.cjs
📊 Project Statistics
| Metric | Value |
|---|---|
| 📦 Dependencies | 300+ |
| 🎨 UI Themes | Dark + Light (auto-synced) |
| ☕ Languages | Java, Kotlin, Groovy |
| 🔨 Build Tools | Maven, Gradle (Groovy/Kotlin) |
| 📦 Packaging | Jar, War |
| ☕ Java Versions | 11, 17, 21, 25, 26 |
🔌 API Integration
-
This extension uses the official
Spring Initializr API: -
Metadata endpoint: /metadata/config?platform=web
-
Project generation: /starter.zip
-
All requests use
IPv4for maximum compatibility. Response validation includes ZIP magic number verification (PK signature)
🛠️ Development
Prerequisites
- Bun >= 1.0
- VS Code >= 1.85
- Node.js >= 20
# Clone the repository
git clone https://github.com/qewr1324/spring-initializer.git
cd spring-initializer
# Install dependencies
bun install
# Build the extension
bun run build
# Open in VS Code
code .
📝 License
- MIT © GhurbeSABZI
🤝 Contributing
Contributions are welcome! Whether it's:
-
🐛 Reporting bugs
-
💡 Suggesting features
-
🔧 Submitting pull requests
-
📝 Improving documentation
🙏 Acknowledgments
- Spring Initializr — the amazing project generation service
- VS Code API — for the powerful extension framework
- IntelliJ IDEA — for the UI inspirations