Install JDK, set JAVA_HOME, install Java Extension Pack in VSCode, create or open a Maven/Gradle project, ensure proper project structure, and use built-in run/debug features; 1. Install JDK and verify with java -version and javac -version, 2. Install Maven or Gradle optionally, 3. Set JAVA_HOME environment variable, 4. Install Java Extension Pack which includes core Java support, debugger, test runner, and Maven integration, 5. Create a new Maven project via Ctrl Shift P or open an existing project with pom.xml or build.gradle, 6. Confirm standard Maven folder structure or customize source/output paths in settings.json, 7. Run Java files via right-click or Run button, 8. Debug using breakpoints and F5 which generates launch.json for custom configurations, 9. Use shortcuts like main Enter for templates, F2 for renaming, Ctrl Shift O for organizing imports, and Ctrl T for class navigation, and keep extensions updated for best experience, making VSCode a lightweight yet powerful Java development environment.
Setting up Visual Studio Code (VSCode) for Java development is straightforward once you know which extensions and tools to install. While VSCode isn't a full-fledged IDE like IntelliJ or Eclipse out of the box, with the right setup, it becomes a powerful, lightweight environment for Java.

Here’s how to get everything working smoothly.
? Install Required Tools
Before using VSCode for Java, make sure the following are installed on your system:

-
Java Development Kit (JDK)
Download and install a JDK (e.g., OpenJDK, Adoptium, or Oracle JDK).
Verify installation:java -version javac -version
Apache Maven or Gradle (optional but recommended)
For dependency management and building projects. Install via package manager or download from:Set JAVA_HOME (important!)
Make sure theJAVA_HOME
environment variable points to your JDK installation directory.
? Install Essential VSCode Extensions
Open VSCode and install these key extensions from the marketplace:
Java Platform
Core support for Java language features.Language Support for Java? by Red Hat
Provides IntelliSense, code completion, formatting, and refactoring.Debugger for Java
Enables breakpoints, step-through debugging, and variable inspection.Test Runner for Java
Run and debug JUnit or TestNG tests directly from the editor.Maven for Java
Integrates Maven: manage dependencies, run goals, generate projects.
? Tip: Search “Java Extension Pack” in the Extensions view — it bundles all the above in one click.
? Create or Open a Java Project
You can either:
Start a new Maven project
PressCtrl Shift P
→ Type "Create Maven Project", select archetype, group ID, artifact ID, etc.Open an existing project
Just open the folder containing yourpom.xml
(Maven) orbuild.gradle
(Gradle).
VSCode will automatically detect the project structure and download dependencies.
? Configure Project Structure (if needed)
VSCode usually auto-detects source folders (src/main/java
, src/test/java
), but if not:
Make sure your folder structure follows standard Maven layout:
my-app/ ├── src/ │ ├── main/java/MyClass.java │ └── test/java/MyClassTest.java ├── pom.xml
If using a custom layout, you may need to adjust
settings.json
:"java.project.sourcePaths": ["src"], "java.project.outputPath": "bin"
? Run and Debug Java Code
Run a Java file: Right-click in the editor → Run Java
Or use the "Run" button above themain()
method.Debug: Set breakpoints, then click the debug icon (?) or press
F5
.
VSCode generates a.vscode/launch.json
file for custom configurations.
Example launch.json
:
{ "type": "java", "name": "Launch MyClass", "request": "launch", "mainClass": "com.example.MyClass" }
? Useful Tips
- Use Code Templates (Snippets): Type
main
Enter
to generate amain
method. -
Refactor easily: Rename variables/methods with
F2
. -
Fix imports automatically: Use
Ctrl Shift O
. -
Navigate quickly:
Ctrl T
to jump to any class. - Keep extensions updated — Java tooling improves frequently.
That’s it. With these steps, VSCode becomes a solid, fast environment for Java development — especially great for learning, small-to-medium projects, or when you want a clean editor without IDE bloat.
Basically: Install JDK → Install Java Extension Pack → Open project → Code.
The above is the detailed content of VSCode setup for Java development. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Maven is a standard tool for Java project management and construction. The answer lies in the fact that it uses pom.xml to standardize project structure, dependency management, construction lifecycle automation and plug-in extensions; 1. Use pom.xml to define groupId, artifactId, version and dependencies; 2. Master core commands such as mvnclean, compile, test, package, install and deploy; 3. Use dependencyManagement and exclusions to manage dependency versions and conflicts; 4. Organize large applications through multi-module project structure and are managed uniformly by the parent POM; 5.

SetupaMaven/GradleprojectwithJAX-RSdependencieslikeJersey;2.CreateaRESTresourceusingannotationssuchas@Pathand@GET;3.ConfiguretheapplicationviaApplicationsubclassorweb.xml;4.AddJacksonforJSONbindingbyincludingjersey-media-json-jackson;5.DeploytoaJakar

First, use JavaScript to obtain the user system preferences and locally stored theme settings, and initialize the page theme; 1. The HTML structure contains a button to trigger topic switching; 2. CSS uses: root to define bright theme variables, .dark-mode class defines dark theme variables, and applies these variables through var(); 3. JavaScript detects prefers-color-scheme and reads localStorage to determine the initial theme; 4. Switch the dark-mode class on the html element when clicking the button, and saves the current state to localStorage; 5. All color changes are accompanied by 0.3 seconds transition animation to enhance the user

@property decorator is used to convert methods into properties to implement the reading, setting and deletion control of properties. 1. Basic usage: define read-only attributes through @property, such as area calculated based on radius and accessed directly; 2. Advanced usage: use @name.setter and @name.deleter to implement attribute assignment verification and deletion operations; 3. Practical application: perform data verification in setters, such as BankAccount to ensure that the balance is not negative; 4. Naming specification: internal variables are prefixed, property method names are consistent with attributes, and unified access control is used to improve code security and maintainability.

To generate hash values using Java, it can be implemented through the MessageDigest class. 1. Get an instance of the specified algorithm, such as MD5 or SHA-256; 2. Call the .update() method to pass in the data to be encrypted; 3. Call the .digest() method to obtain a hash byte array; 4. Convert the byte array into a hexadecimal string for reading; for inputs such as large files, read in chunks and call .update() multiple times; it is recommended to use SHA-256 instead of MD5 or SHA-1 to ensure security.

Yes, a common CSS drop-down menu can be implemented through pure HTML and CSS without JavaScript. 1. Use nested ul and li to build a menu structure; 2. Use the:hover pseudo-class to control the display and hiding of pull-down content; 3. Set position:relative for parent li, and the submenu is positioned using position:absolute; 4. The submenu defaults to display:none, which becomes display:block when hovered; 5. Multi-level pull-down can be achieved through nesting, combined with transition, and add fade-in animations, and adapted to mobile terminals with media queries. The entire solution is simple and does not require JavaScript support, which is suitable for large

Use datetime.strptime() to convert date strings into datetime object. 1. Basic usage: parse "2023-10-05" as datetime object through "%Y-%m-%d"; 2. Supports multiple formats such as "%m/%d/%Y" to parse American dates, "%d/%m/%Y" to parse British dates, "%b%d,%Y%I:%M%p" to parse time with AM/PM; 3. Use dateutil.parser.parse() to automatically infer unknown formats; 4. Use .d

Use the uuid module to obtain the MAC address of the first network card of the machine across the platform, without the need for a third-party library, and convert it into a standard format through uuid.getnode(); 2. Use subprocess to call system commands such as ipconfig or ifconfig, and combine it with regular extraction of all network card MAC addresses, which is suitable for scenarios where multiple network card information needs to be obtained; 3. Use the third-party library getmac, call get_mac_address() after installation to obtain the MAC, which supports query by interface or IP, but requires additional dependencies; in summary, if no external library is needed, the uuid method is recommended. If you need to flexibly obtain multi-network card information, you can use the subprocess solution to allow you to install the dependency getma.
