Search and add dependencies from 8+ registries β right inside VS Code.
Dependency Viewer is a VS Code extension that lets you search for packages across multiple language registries and get properly formatted dependency strings β ready to paste into your project files.
No more opening browser tabs for Maven Central, npm, NuGet, RubyGems, or crates.io. Just pick your language, search, and copy.
- π Search across 5 package registries β Maven Central, npm, NuGet, RubyGems, crates.io
- π 8 languages supported β Java, JavaScript, TypeScript, C#, Ruby, Rust, Kotlin, Groovy
- π One-click copy β formatted dependency string ready to paste
- π¨ Syntax highlighting β XML, JSON, Ruby, TOML with custom highlighter
- β‘ Instant search β debounced input for smooth UX
- πΎ State persistence β remembers your last search and results
- π― Keyboard shortcuts β
Ctrl+Kto focus search,Escapeto close
| Language | Registry | Format |
|---|---|---|
| β Java | Maven Central | <dependency>...</dependency> (XML) |
| π JavaScript | npm | "package": "^version" |
| π TypeScript | npm (@types) | "@types/package": "^version" |
| π· C# | NuGet Gallery | <PackageReference Include="..." Version="..." /> |
| π Ruby | RubyGems | gem 'package', '~> version' |
| π¦ Rust | crates.io | package = "version" |
| π£ Kotlin | Maven Central | implementation("group:artifact:version") |
| β Groovy | Maven Central | implementation 'group:artifact:version' |
dependency-viewer/
βββ π package.json # VS Code extension manifest
βββ π route.json # Registry API definitions
βββ π tsconfig.json # TypeScript configuration
βββ π res/ # Icons and branding
β βββ π¨ facet-icon-big.png
βββ π src/ # Extension source code
β βββ π extension.ts # Entry point & activation
β βββ π DependencyPanel.ts # Webview panel management
β βββ π searchHandlers.ts # Registry API handlers
β βββ π utils.ts # Route loading utilities
β βββ π panel/ # Webview UI
β βββ π webview.html # Panel structure
β βββ π styles.css # All styles (CSS variables)
β βββ π main.js # Search logic & syntax highlighting
βββ π dist/ # Build output
βββ π extension.cjs
βββ π route.json
βββ π panel/- Open β Click
π¦ Dependency Viewerin the status bar - Select β Choose a language from the dropdown
- Search β Type a package name (e.g.,
spring-boot,react,serde) - Copy β Click "Copy to Clipboard" on any result
- Paste! β Paste directly into your
pom.xml,package.json,Gemfile, etc.
- Click: Java β Maven β 4.0
- Generated: ./pom.xml
- Search: spring-boot
- Result:
π¦ org.springframework.boot:spring-boot-starter-webv3.2.0|MAVEN CENTRAL
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.2.0</version>
</dependency>- [π Copy to Clipboard]
# Clone
git clone https://github.com/qewr1324/dependency-viewer.git
# Install dependencies
cd dependency-viewer
bun install
# Build
bun run build
# Run extension in VS Code
# Press F5 in VS Code{
"NewLanguage": {
"registry-name": {
"name": "Registry Display Name",
"searchUrl": "https://api.registry.com/search",
"params": {
"q": "${query}",
"limit": "20"
},
"parseResponse": {
"items": "results",
"version": ["version"],
"format": "{name}@{version}"
}
}
}
}if (repoName === "registry-name") {
return await searchCustomRegistry(query, config);
}function highlightCustomLang(code) {
// Your custom highlighting logic
}- π Status Bar β Quick access button in the status bar
- β¨οΈ Keyboard Shortcuts β
Ctrl+Kto focus search,Escapeto close - πΎ State Persistence β Remembers your last language, query, and results
- MIT Β© GhurbeSABZI
- Adding new registries (PHP Packagist, Go modules, etc.)
- Improving syntax highlighting
- Adding more languages
- Fixing bugs
- Improving documentation

