Skip to content

twotreeszf/windsurf-vsix-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VSCode Extension Downloader & Installer for Windsurf & Cursor

A command-line tool to download VSCode extensions from the Visual Studio Marketplace.

Background

This project was created to solve the issue of installing certain VSCode Marketplace extensions in Windsurf and Cursor. The majority of the code was generated by Windsurf itself, with my involvement in requirements specification, architectural discussions, optimization suggestions, and validation work.

The development process was remarkably efficient - within an hour, we had a fully functional, robust implementation with comprehensive features. The resulting code is stable, well-structured, and includes everything from platform-specific downloads to recursive dependency resolution. The speed and quality of the development process, powered by Windsurf's code generation capabilities, was truly remarkable.

Features

  • Automatically detects system platform (Windows/macOS/Linux)
  • Supports both ARM and x64 architectures
  • Downloads platform-specific extension versions when available
  • Shows download progress with a progress bar
  • Optional recursive dependency downloading
  • Avoids duplicate downloads
  • Generates organized filenames with publisher, extension ID and version
  • Robust download with automatic retry mechanism
  • File integrity verification
  • Optional automatic installation in Windsurf or Cursor

Installation

  1. Clone this repository
  2. Install dependencies:
pip install -r requirements.txt

Usage

Run the script and follow the prompts:

python vsix-tool.py

The script will ask for:

  1. A VSCode Marketplace URL
  2. Whether to download dependencies
  3. Whether to install the downloaded extensions in an IDE (Windsurf or Cursor)

Example marketplace URLs:

Example Output

Enter VSCode Marketplace URL: https://marketplace.visualstudio.com/items?itemName=platformio.platformio-ide
Download dependencies? (y/N): y
Detected platform: darwin-arm64

Analyzing dependencies...
Querying extension: platformio.platformio-ide
Found dependencies: ['ms-vscode.cpptools']
Querying extension: ms-vscode.cpptools

Found 2 extension(s) to download

Downloading [1/2]: ms-vscode.cpptools
Downloading 01-ms-vscode-cpptools-1.24.1.vsix: 100%|██████████| 77.9M/77.9M [00:19<00:00, 4.04MiB/s]
Successfully downloaded: downloads/01-ms-vscode-cpptools-1.24.1.vsix

Downloading [2/2]: platformio.platformio-ide
Downloading 02-platformio-platformio-ide-3.3.4.vsix: 100%|██████████| 3.23M/3.23M [00:01<00:00, 2.65MiB/s]
Successfully downloaded: downloads/02-platformio-platformio-ide-3.3.4.vsix

Install extensions in an IDE? (y/N): y

Select IDE:
1. Windsurf
2. Cursor
Enter choice (1/2): 2

Installing extensions in Cursor...
Installing 01-ms-vscode-cpptools-1.24.1.vsix...
Successfully installed
Installing 02-platformio-platformio-ide-3.3.4.vsix...
Successfully installed

All extensions installed successfully!

Features

Platform Detection

Automatically detects your system platform and architecture to download the correct version:

  • Windows: win32-x64, win32-arm64
  • macOS: darwin-x64, darwin-arm64
  • Linux: linux-x64, linux-arm64, linux-armhf

Dependency Resolution

When enabled, automatically:

  • Reads the extension manifest
  • Identifies required dependencies
  • Downloads all dependencies recursively
  • Prevents duplicate downloads

Organized Output

Downloaded files are stored in the downloads subdirectory with a consistent naming format:

{index}-{publisher}-{extension_id}-{version}.vsix

Example:

  • 01-ms-vscode-cpptools-1.24.1.vsix
  • 02-platformio-platformio-ide-3.3.4.vsix

The numeric prefix indicates the installation order, ensuring dependencies are installed first.

About

VSCode Extension Downloader & Installer for Windsurf & Cursor

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages