Thank you for contributing to the Effekt VSCode extension! This document contains information about our developer workflow. If you have any questions, do not hesitate to join our Discord server.
- VSCode
>= 1.90 - NodeJS
>= 20.0and npm
To build and run the VSCode extension, open this repository in VSCode. From within the terminal, install the dependencies by running:
npm installThen, compile the project using:
npm run compileFinally, within VSCode, press F5.
This should launch the extension in debug mode in a separate VSCode window for you to test.
Before each commit, make sure the typechecker, linter and formatter pass:
npm run compile
npm run format
npm run lint![TIP] You can run these commands in a git pre-commit hook by editing
.git/hooks/pre-commitand runningchmod +x .git/hooks/pre-commit
Before creating a pull request, it is important to test exporting the extension via vsce to ensure that the release build published to the VSCode marketplace will work.
To do so, run:
vsce package --out effekt.vsix
code --install-extension effekt.vsixThen, in a separate instance of VSCode, test the extension on some Effekt code.
This section describes how to release a new version of the Effekt VSCode extension to the VSCode Marketplace.
Make sure you're on the latest main by running:
git checkout main && git pullDepending on whether the new change is minor or a patch (choose one), run:
npm version [minor/patch] -m "Release v%s"This creates a commit with the version bump and a tag.
Push the resulting commit:
git pushPush the tag:
git push origin tag "v<version>" # replace <version> with the version returned by `npm version`!then check if the deploy pipeline went through in the Actions tab: https://github.com/effekt-lang/effekt-vscode/actions/workflows/deploy.yml.