Pijul for VS Code is an extension for Visual Studio Code which adds integration with Pijul as a source control management system.
Why develop my own extension instead of contributing to the existing one? It didn't even occur to me to check if one already existed when I started, and when I did my own extension had enough distinct features to set it apart.
At present, this extension offers most of the basic features necessary for local Pijul development on a single channel. It includes basic commands for initializing a repository in a VS Code workspace.
Everything else still needs to be done on the command line.
Requires an existing Pijul installation. Instructions for installing Pijul can be found here. The primary development environment for the extension is WSL2 and at this early stage I can't guarantee that it will work on other platforms. If you are using or have tried using the extension on a different platform, please feel free to open a discussion with any issues you have encountered.
Pijul for VS Code hasn't been published on the extension marketplace yet, so it needs to be built and installed from the source. To do so, follow these steps:
npm install --global @vscode/vsce
# Windows users might need to set env var NODE_OPTIONS=--openssl-legacy-provider vsce package
vsce package
With the eventual goal of releasing on the Extension Marketplace with the same level of quality as other source control extensions, there are a number of areas which will require a great deal of further refinement:
There are also a number of Pijul features which still need to be implemented to reach a publishable minimum viable product, suitable for local Pijul development:
In the long term, I would like to offer more in-depth Pijul integration, with the goal of providing a better experience than can be offered on the command line:
pijul credit
annotationsEach category probably could probably fit a couple more points that I haven't thought of.
Pijul for VS Code welcomes all contributions. Before contributing, please be sure to add the following hook to your Pijul config file:
[hooks]
record = ["yarn run lint"]