Expand description
§vsix
A command-line utility that downloads and installs .vsix extensions into Visual Studio Code and Cursor.
§Features
- Search for extensions in the Visual Studio Code marketplace
- Install extensions to VSCode or Cursor
- Download extensions without installing
- Automatic CLI detection for
codeandcursorcommands - Cross-platform support (Windows, macOS, Linux)
- Architecture-aware installation (x86_64, ARM64)
§Architecture
This crate follows Domain-Driven Design (DDD) principles with a clean architecture:
- Domain Layer: Core business logic and domain model
- Application Layer: Use cases and service orchestration
- Infrastructure Layer: External service implementations
- Presentation Layer: User interface and CLI handling
§Example Usage
use vsix::application::ApplicationService;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let service = ApplicationService::new();
// Search for extensions
let results = service.search_extensions("rust", None).await?;
println!("Found {} extensions", results.total_count);
// Install an extension
service.install_extension("rust-lang.rust-analyzer", false, None).await?;
Ok(())
}Re-exports§
pub use application::*;pub use domain::*;
Modules§
- application
- Application layer containing use cases and services
- domain
- Domain layer with core business logic, entities, and value objects
- infrastructure
- Infrastructure layer with external service implementations
- presentation
- Presentation layer for user interface and CLI