The available VS Code extension can be found under /extension
.
npm install
: install all packagesnpm run build
: build the extension and webviewsnpm run download:engine
: download and unpack the latest master enginenpm run package
: package the extension as .vsix file
To access the REST API of the engine, we generate the Axios client from OpenAPI. For the creation, it is expected that the OpenAPI specification is located under target/engine/openapi.json
. The easiest way to retrieve the specification is to run the following command (Maven needed). Otherwise, you can load the file from https://jenkins.ivyteam.io/job/core_openapi/
npm run download:openapi
For client generation run:
npm run codegen:openapi
Make sure that all packages are installed, i.e. run npm install
. Building and packaging are not needed. Simply start the Run Extension
launch config, which will also activate the watch mode.
If you do not want to use the embedded engine as backend, you can define an alternative under VS Code Settings / Axon Ivy
. Simply uncheck Engine: Run By Extension
and set Engine: Url
you want to use.
Playwright tests can be executed against VSCode Insiders or openvscode-server
Make sure that an Engine is running on localhost:8080. It will be used as the backend for testing.
npm run test:playwright:download:vscode
: download latest VSCode Insidersnpm run test:playwright
: run all tests against electron app
Build the openvscode-server docker image using the Dockerfile located under /build/integration/openvscode-server/server/Dockerfile
, e.g.:
docker build -t openvscodeserver -f build/integration/openvscode-server/Dockerfile .
.
Then run the container using
docker run -it --init -p 3000:3000 -p 8080:8080 -p 8081:8081 -p 8082:8082 openvscodeserver --disable-workspace-trust
Finally
npm run test:playwright:browser
: run all tests against openvscode-server in browser