Before starting development, ensure you have:
- Java 20 or higher installed and configured in your
PATH - Maven 3.6 or higher for building the language server
- Node.js and npm for building and packaging the client
- Visual Studio Code and the Language Support for Java(TM) by Red Hat extension installed and enabled
To get started, clone the repository and install the client dependencies:
git clone https://github.com/liquid-java/vscode-liquidjava.git
cd vscode-liquidjava
cd client
npm installTo build the language server, package the extension, and install it in your local VS Code instance, you can run the provided script from the repository root:
./install.shUse ./install.sh --skip-server to package and install the extension without rebuilding the language server.
Create a version bump pull request from main with the release script:
./release.shBy default, this bumps the patch version in client/package.json. Pass a version to set it explicitly:
./release.sh <new-version>After the pull request passes Checks and is merged, create and push its release tag from main:
./release.sh --tag <new-version>The tag runs Checks again and publishes the verified extension artifact to the VS Code Marketplace and the Open VSX Registry.
To run the extension in development mode, follow these steps:
- Go to Run > Run Extension (or press F5)
- A new VS Code instance will open with the extension installed, which will automatically run the language server in the background and connect to it
- Open a Java project using LiquidJava
To run the language server manually, follow these steps:
- Run the server in port
50000(default) - In the client, set the
DEBUGconstant in client/src/extension.ts totrue - Run the client which will connect to the server in port
50000
/server- Implements the language server in Java using LSP4J/client- Implements the VS Code extension in TypeScript that connects to the language server via LSP