Skip to main content

A tool to download and install VS Code extensions in VSCodium-based IDEs.

Project description

vsix-to-vscodium

A tool to download and install VS Code extensions in VSCodium-based IDEs.

Why does this package exist?

This package was born out of the creator's experience trying out the Windsurf IDE. After discovering that many important extensions were missing, he learned that Windsurf, like other VSCodium-based IDEs, uses a different extensions marketplace due to Microsoft's licensing restrictions.

Rather than manually downloading and installing each extension, he decided to try out Windsurf's AI features by building a package that could copy over VS Code extensions with a single command. That package is vsix-to-vscodium.

Installation

pip install vsix-to-vscodium

Usage

Install a single extension

# Basic usage (defaults to VSCodium)
vsix-to-vscodium publisher.extension-name

# Specify a different IDE
vsix-to-vscodium --ide windsurf publisher.extension-name

# Example: Install Python extension in Windsurf
vsix-to-vscodium --ide windsurf ms-python.python

Transfer all VS Code extensions

If you're switching from VS Code to a VSCodium-based IDE, you can transfer all your installed extensions at once:

# Transfer all extensions (defaults to VSCodium)
vsix-to-vscodium --transfer-all

# Transfer all extensions to a specific IDE
vsix-to-vscodium --transfer-all --ide windsurf

Features

  • Downloads extensions from VS Code Marketplace
  • Automatically installs extensions in VSCodium-based IDEs
  • Supports multiple VSCodium-based IDEs (e.g., Windsurf)
  • Bulk transfer of all installed VS Code extensions
  • Supports specific version installation
  • Caches downloaded extensions to avoid redundant downloads
  • Cleans up downloaded files after installation

Caveats

  • When searching for installed extensions in the Extensions view, you must prepend @enabled to your search term to see extensions installed via this tool:

    Extensions search showing @enabled requirement

Next Steps/Improvements

  • Show failed installs in final message when installation is complete, especially when installing multiple extensions
  • Allow updates of extensions that have newer versions of what's installed
  • Allow selecting extensions for install instead of just installing everything in VS Code
    • Some extensions actually don't make sense to copy, e.g., GitHub Copilot when running Windsurf
  • Don't install disabled extensions
    • Perhaps add a flag that allows user to specify that disabled extensions should also be installed
  • Use open-vsx extensions directly when extensions are already available there

Development

To set up the development environment:

# Clone the repository
git clone https://github.com/CodeWithOz/vsix-to-vscodium.git
cd vsix-to-vscodium

# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install development dependencies
pip install flit
flit install -s --deps develop

Run tests:

pytest

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vsix_to_vscodium-0.5.0.tar.gz (72.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vsix_to_vscodium-0.5.0-py2.py3-none-any.whl (6.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file vsix_to_vscodium-0.5.0.tar.gz.

File metadata

  • Download URL: vsix_to_vscodium-0.5.0.tar.gz
  • Upload date:
  • Size: 72.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for vsix_to_vscodium-0.5.0.tar.gz
Algorithm Hash digest
SHA256 967bb5dda0d1e6b8d78606c6130fab0e1d72dffe69f0a8bf16d17ddc8e299ef3
MD5 948a7438c3a2eeb48c057a1919b56eca
BLAKE2b-256 a61603b99a2284e051b0f94044d37d931ffecaf141c793c5fee678f929f14bf7

See more details on using hashes here.

File details

Details for the file vsix_to_vscodium-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for vsix_to_vscodium-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 97f6f79004d30a328d8e5316275461f59a480d04faabe0f8bdb11f9e0cb4fa04
MD5 f1bb79cee965f6c899715840dd754a76
BLAKE2b-256 20cf9f937aa0d6e5bef97b4afb903800bfdeed44fad959f6b0f228bea068e5bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page