Command line extension updater for Visual Studio Code text editor without unnecessary connections and telemetry, with support for several marketplaces (extension galleries).
Features:
- Count installed extensions
- List of installed extensions indicating their version
- Check for updates to installed extensions
- Update installed extensions (automatically download and install a newer version)
Unlike Visual Studio Code's built-in extension manager, daymne
:
- Collects zero telemetry and doesn't make unnecessary connections.
- Can search for new versions in multiple sources (Visual Studio and Open VSX marketplaces) and pick the latest one.
- Supports proprietary builds of Visual Studio Code, as well as debloated Code - OSS versions.
- Works even with extremely hardened builds such as Uncoded, which don't have the ability to check and perform extension updates out of the box.
It's not exactly an extension manager because it cannot search for and install new extensions and doesn't manage dependencies.
Reasons why I didn't implement this:
- It's just easier to search and read descriptions using a web browser.
- I just don't want to deal with the semi-public stupid MS API again.
But it's still better to use daymne
than to manually check for updates for each of the 10, 50, 100... extensions.
This project is written in V language, so you will need to install vlang first.
git clone https://github.com/meequrox/daymne.git
cd daymne
make
The compiled file will be located in the build/
directory.
Download and install your favorite extensions manually using the Open VSX or
Visual Studio marketplaces and from now on you will be able
to update them with daymne
.
# Print help message
./daymne -h
# Check extensions for updates
./daymne update
# Upgrade only specified extensions
./daymne upgrade golang.go rust-lang.rust-analyzer
# Upgrade all extensions
./daymne upgrade
-p
is an alias to --proprietary
and can be placed anywhere:
# Check extensions for updates
./daymne update --proprietary
# List installed extensions
./daymne list -p
# Upgrade all extensions
./daymne -p upgrade
After running the daymne upgrade
command, go to the Extensions tab in the sidebar and restart
the upgraded extensions with one click.
$ daymne info
Config directory: /home/user/.vscode-oss/extensions (exists: true)
Config file: /home/user/.vscode-oss/extensions/extensions.json (exists: true)
Extensions: 4
Platform: linux-x64
$ daymne list
alefragnani.bookmarks 13.5.0
ecmel.vscode-html-css 2.0.9
golang.go 0.41.4
haskell.haskell 2.5.3
$ daymne update
Failed to request haskell.haskell: https://open-vsx.org/vscode/gallery/extensionquery => code 503 (attempt 1)
All extensions are up-to-date
Marketplaces are not entirely stable, as they randomly produce 5xx errors, so the program will repeat the request and everything will be fine.
$ daymne upgrade
All extensions are up-to-date
If there are extensions to upgrade, the following process will be performed:
- Download vsix package for the current OS and architecture.
- Unpack the package into the extension installation directory.
- Modify the configuration file to tell VSCode about the new version of the extension.
Encountered a bug or want to request new functionality? Please open a new issue on Github.