Note: Starting with the 0.1.12 early release, Java 17 is required to run Liberty Tools for Visual Studio Code.
Liberty Tools for Visual Studio Code offers features for developing cloud-native Java applications with Open Liberty and WebSphere Liberty. Iterate fast with Liberty dev mode, code with assistance for MicroProfile & Jakarta EE APIs, and easily edit Liberty configuration files.
Note: This is an early release.
- Features
- Quick start
- Commands
- Configurable user settings
- External settings
- Requirements
- Contributing
- Issues
Use Liberty Tools to run your Liberty Maven or Liberty Gradle projects through the Liberty dashboard or the VS Code command palette. You can start, stop, or interact with Liberty dev mode on all available Liberty Maven or Liberty Gradle projects in your workspace. Liberty Tools also helps you quickly and easily edit your application and configuration files by providing language support features for MicroProfile, Jakarta EE, and Liberty configuration and Java files.
For minimum requirements information and detailed instructions on how to use Liberty tools, check out the Liberty Tools for Visual Studio Code user guide page.
- View supported Liberty projects in the Liberty dashboard.
- Start/Stop dev mode.
- Start dev mode with custom parameters.
- Start dev mode in a container.
- Attach the debugger.
- Run tests.
- View test reports.
- Code with language assistance in the following configuration and application files:
server.xml
,server.env
,bootstrap.properties
Liberty configuration files- Jakarta EE 9.x APIs in Java files
- MicroProfile APIs in
microprofile-config.properties
and Java files
Feature completion in bootstrap.properties
files helps you quickly edit your Liberty runtime configuration.
Hover in server.xml
files provides more detailed descriptions.
Diagnostics in server.env
files helps you quickly spot errors in your Liberty runtime configuration.
Helpful code snippets are provided in Java files for Jakarta EE APIs such as Jakarta RESTful Web Services.
Editing assistance for configuration and application files is provided through the following language server projects, which this project consumes. For more information, see the documentation for these projects.
- Liberty configuration files: Liberty Config Language Server
- Jakarta EE APIs in Java files: Eclipse LSP4Jakarta, the Language Server for Jakarta EE.
Liberty Tools for Visual Studio Code depends on the Tools for MicroProfile Visual Studio Code extension. This extension provides editing assistance for MicroProfile APIs in Java and microprofile-config.properties
files.
- Install Liberty Tools for Visual Studio Code
- Select a project in the Liberty dashboard to view the available commands.
Projects with the Liberty Maven Plugin or Liberty Gradle Plugin configured will appear in the Liberty Dashboard on the sidebar.
For minimum requirements information and detailed instructions on how to use the Liberty commands, check out the Liberty Tools for Visual Studio Code user guide page.
The following commands are available when you select a project in the Liberty Dashboard.
Command | Description |
---|---|
Start | Start dev mode. |
Start… | Start dev mode with custom parameters. Supported parameters can be found in the documentation for the dev goal of the Liberty Maven Plugin and the libertyDev task of the Liberty Gradle Plugin. |
Start in a container | Start dev mode with Liberty running in a container. The liberty-maven-plugin must be version 3.3-M1 or higher. The liberty-gradle-plugin must be version 3.1-M1 or higher. |
Stop | Stop dev mode. Liberty must be running in dev mode to use this command. |
Run tests | Run the unit tests and integration tests that are configured for your project. Liberty must be running in dev mode to use this command. |
View integration test report (Maven) | View the integration test report file, if it exists at the /target/site/failsafe-report.html default location. |
View unit test report (Maven) | View the unit test report file, if it exists at the /target/site/surefire-report.html default location. |
View test report (Gradle) | Open the test report file, if it exists at the build/reports/tests/test/index.html default location. This action command is available only to Gradle projects. Gradle projects have only a single action command for test result reporting. |
Setting | Description | Default Value |
---|---|---|
liberty.terminal.useJavaHome |
If this value is true, and if the setting java.home has a value, then the environment variable JAVA_HOME will be set to the value of java.home when a new terminal window is created. |
False |
xml.java.home |
This property allows a user to define their LemMinX language server runtime without altering the JAVA_HOME environment variable. |
Not set |
The following settings, which are provided by external extensions, are honoured when you run dev mode commands.
Setting | Description | Provided By |
---|---|---|
maven.executable.path |
Maven commands executed by dev mode will honour this setting. When this value is empty, it tries to use mvn or mvnw according to the value of maven.executable.preferMavenWrapper . |
Maven for Java extension |
maven.executable.preferMavenWrapper |
Maven commands executed by dev mode will honour this setting. If true, it tries to use mvnw if a Maven wrapper file can be found. Otherwise it will use mvn . |
Maven for Java extension |
java.import.gradle.wrapper.enabled |
Gradle commands executed by dev mode will honour this setting. If true, it tries to use gradlew if a Gradle wrapper file can be found. Otherwise it will use gradle . |
Language support for Java extension |
Note: Starting with the 0.1.12 early release, Java 17 is required to run Liberty Tools for Visual Studio Code.
The following extensions are bundled with Liberty Tools for Visual Studio Code during installation and are provided here for additional information.
See the DEVELOPING and CONTRIBUTING documents for more details.
Please report bugs, issues and feature requests by creating a GitHub issue.