A zero-configuration tool for discovering, running, debugging, and managing Java applications in VS Code.
Inspired by IntelliJ IDEA's run configuration experience, Java Launcher automatically detects entry points—Spring Boot apps, main methods, and tests—so you can run or debug them instantly without manually editing launch.json. It also supports "aggregated" launches to start multiple services in sequence with a single click.
- Zero-Config Discovery: Automatically scans your workspace for runnable Java entry points.
- Unified Tree View: Displays all discovered apps and tests in a dedicated sidebar, grouped by project module.
- Search & Run: Quickly find and launch any entry point or aggregated config via a command palette-style interface. Supports lazy loading and recent history.
- Aggregated Launch: Group multiple applications into a single configuration to start them sequentially with custom delays—ideal for microservices.
- Spring Boot Support: First-class support for Spring Boot, including easy switching of active profiles (e.g.,
dev,prod). - Process Management: A dedicated interface to view, stop, or restart any Java process started by the extension.
- Internationalization: Fully localized for English and Chinese users.
- Install Java Launcher from the VS Code Marketplace.
- Open a Java project (Maven supported; Gradle support is experimental).
- Click the Rocket icon in the Activity Bar to open the Java Launcher view.
- The extension automatically scans for entry points. Click the Run (▶) icon next to any item to start it.
Navigate to the Java Launcher view in the sidebar. You will see a tree of discovered entry points:
- Spring Boot Apps: Marked with a leaf icon.
- Main Classes: Standard Java applications.
- Tests: JUnit/TestNG classes and methods.
Hover over an item and click the Run or Debug button.
Use the "Search and Run" command to quickly launch apps without leaving your keyboard.
- Command:
Java Launcher: Search and Run Java Entry - Behavior:
- Displays a search box that lazy-loads entry points on first use.
- Shows up to 5 most recently used entries or configs for instant reuse.
- Supports fuzzy matching by name.
Tip: Map this command to a keyboard shortcut for faster access (see Recommended Shortcuts).
Start multiple applications with one click.
- Right-click an entry point in the tree and select Add to Aggregated Config.
- Or use the command
Java Launcher: Create Aggregated Launch Configuration. - Give it a name and select the apps to include.
- (Optional) Configure startup delays (in ms) for each app to ensure dependent services start first.
- Run the aggregated config from the Aggregated Configurations section in the tree view.
View and control all running Java processes started by this extension.
- Command:
Java Launcher: Manage Running Java Processes - Actions: View status, stop individual processes, stop all, or restart all.
To improve your workflow, we recommend adding the following keybindings to your keybindings.json:
{
"key": "ctrl+alt+r",
"command": "java-launcher.searchAndRun",
"when": "editorTextFocus"
},
{
"key": "ctrl+alt+p",
"command": "java-launcher.manageRunningProcesses"
}(Adjust the keys ctrl+alt+r and ctrl+alt+p to fit your preference.)
- First Run: The first time you use "Search and Run" after opening VS Code, there may be a brief delay while the extension scans your project. Subsequent searches will be instant.
- Gradle Support: Currently experimental. It works best with standard project structures (
src/main/java). For complex Gradle setups, manual configuration might still be required. - Launch.json: While this extension aims for zero-configuration, it generates standard VS Code launch configurations in
launch.jsonunder the hood. You can manually edit this file if you need advanced JVM arguments or environment variables. - Refresh: If you add new classes or methods, click the Refresh button in the Java Launcher view title bar to update the list.
This project is licensed under the MIT License.




