First off, thanks for taking the time to contribute! 🚀🎉👍
When contributing to this project, please first discuss the changes you wish to make via an issue before creating a pull request.
Please note that when participating or interacting with this project you must follow the Galaxy Project Code of Conduct.
Unsure where to begin contributing? You can start by looking through the good first issue
or help wanted
issues.
You can also try to fix a paper-cut
which are trivially fixable usability bugs or easy enhancements.
When you decide what to contribute follow the steps below and then open a Pull Request to this repository.
Happy coding! 🎉
- Fork this repo on Github
- Clone your fork locally:
git clone https://github.com/<your_github_name>/galaxy-workflows-vscode.git
From a terminal, where you have cloned the repository, execute the following command to install the required dependencies:
npm install
From a terminal, where you have cloned the repository, execute the following command to re-build the project from scratch:
npm run compile
Once you are happy with your changes you can lint the code using:
npm run lint
or fix the formatting style using:
npm run format
If you have installed the recommended extensions in extensions.json the code style will be automatically enforced every time you save a file, so you probably won't need to run npm run format
.
Run the Debug Extension + Server
configuration from the Run and Debug
action bar (or press F5).
This will launch the extension in a new VSCode instance and also attach the debugger to the Workflow Language Server so you can add breakpoints and debug both client
and server
projects.
Test the extension on vscode.dev
After you get your extension working locally, follow the instructions here to try it in Web mode.
You can run all the unit tests with:
npm test
Alternatively, you can choose to run only the server or the client tests using npm run test-server
or npm run test-client
respectively.
The integration or end to end (e2e) tests will download (the first time) and launch a testing version of VSCode and then run the tests on it. You can run these tests with:
npm run test:e2e