Java source and compiled bytecode use different file types. Choose VS Code for .java files when double-clicking should edit source rather than start another IDE. The project still needs a suitable JDK and Java tooling.
Method 1: Use Finder
- In Finder, select a sample file such as Main.java.
- Press Command–I, or choose File → Get Info.
- Expand Open with and choose Visual Studio Code. If it is missing, choose Other and locate the installed app.
- Click Change All and confirm the macOS prompt.
- Double-click another file of the same type to check the new default.
Method 2: Manage associations with Pahkui
Pahkui lets you browse by app or by format. When setting up an editor for several file types, you can inspect the current defaults and review pending changes in one window. Requires macOS 14 or later.
- Open Pahkui, switch to Format, and search for the extension you need from .java.
- Select Visual Studio Code. Use Choose another app if it is not listed.
- Review the pending association, click Apply changes, and confirm the new app in the macOS dialog.
The formats in this guide require Pahkui Pro, a one-time purchase for lifetime use. The manual Finder method does not require a purchase. See pricing

If the default app does not change
- Use Main.java as the sample, not a compiled .class file or a .jar archive.
- If compilation fails, check the project JDK and dependencies instead of changing the file association.
- If Visual Studio Code is missing, confirm it is installed and can open the sample directly, then locate it with Other. If an extension is absent from the catalog, add the format in Pahkui. Changing an association does not add format support to the target app.
Common questions
Will .jar applications start in VS Code too?
No. This changes the .java source association; JAR archives have a separate extension and launch workflow.
How do I restore the previous app for .java?
Choose the previous app again in Finder or Pahkui and confirm the change. This updates the type association without deleting files. Use the Open With context menu for a one-time exception.