π A lightweight VS Code extension that helps Flutter developers quickly search, preview, and install pub.dev dependencies without leaving the editor.
- Visual Search Interface: Beautiful WebView-based package browser with real-time search
- Instant Results: Search pub.dev packages as you type with intelligent debouncing
- Detailed Package Pages: Click any package to view complete details including all versions, dependencies, tags, and statistics
- Copy to Clipboard: Quickly copy installation commands, YAML snippets, and import statements
- One-Click Installation: Add packages to
pubspec.yamldirectly from search results or package details - Automatic
pub get: Automatically runsflutter pub getafter adding packages - Version Management: Smart version constraint handling (uses
^prefix automatically) - Remove Packages: Easy package removal with confirmation dialogs
- Package Information: View descriptions, homepage, repository, and pub.dev links
- Smart Imports: Automatically adds import statements to your Dart files after installation
- Multiple Import Options: Choose from common import patterns or specify custom paths
- Import Detection: Prevents duplicate imports intelligently
- Sidebar Integration: Dedicated ASSOUN sidebar in the Activity Bar
- Installed Packages View: See all dependencies and dev_dependencies with their versions
- Dependency Types: Clear icons distinguishing between regular (π¦) and dev (π§) dependencies
- Quick Actions: Refresh, search, and view details with toolbar buttons
- Real-time Updates: Automatically updates when
pubspec.yamlchanges
- Updates View: Separate view showing packages with available updates
- Version Comparison: See current version β latest version for each package
- Package Scores: View likes, popularity scores, and points for each package
- Bulk Updates: Update individual packages or all at once
- Check Updates: Manual refresh to check for new versions
- Seamless Commands: Run Flutter commands directly from VS Code
- Progress Indicators: Visual feedback for long-running operations
- Output Channel: Dedicated output channel for Flutter command logs
- Flutter Detection: Automatically checks if Flutter is installed
- Network Resilience: Automatic retry on network failures (3 attempts with increasing delays)
Method 1: Command Palette
- Open Command Palette (
Ctrl+Shift+PorCmd+Shift+Pon Mac) - Type "ASSOUN: Search Flutter Packages"
- A search interface opens with popular Flutter packages
- Type your search query (e.g.,
http,provider,dio) - Click on any package card to view full details
- Click "π¦ Install [version]" button to add it to your project
Method 2: From Sidebar
- Click the ASSOUN icon in the Activity Bar (left sidebar)
- Click the π Search icon in the "Installed Packages" view toolbar
- The search interface opens
- From search results, click on any package card
- The details page shows:
- Package name, description, and publication date
- Score metrics (likes, points, popularity bar)
- Installation button with latest version
- Links to homepage, repository, and pub.dev
- Copy-ready installation commands (YAML, CLI, Import)
- List of available versions (latest 15 shown)
- Package dependencies (if any)
- Platform and SDK tags
- Click the "β Back to Search" button to return
- Open Command Palette (
Ctrl+Shift+P) - Type "ASSOUN: Add Package to pubspec.yaml"
- Enter the package name (e.g.,
http,provider,dio) - The package is automatically added and
flutter pub getruns
- Click the ASSOUN icon in the Activity Bar
- The "Installed Packages" view displays:
- π¦ Dependencies: Your main project dependencies
- π§ Dev Dependencies: Development-only dependencies
- Each item shows package name and current version
- Click the βΉοΈ icon next to any package to view its details
- Click the π Refresh icon to reload the package list
- In the ASSOUN sidebar, switch to the "Updates Available" view
- Click the π Check for Updates icon in the toolbar
- Packages with newer versions will appear showing:
- Current version β Latest version
- Package score and popularity
- To update a single package: Click the β¬οΈ icon next to it
- To update all packages: Click the βοΈ Update All icon in the toolbar
- Open Command Palette (
Ctrl+Shift+P) - Type "ASSOUN: Remove Package"
- Select the package to remove from the dropdown list
- Confirm the removal in the dialog
- The package is removed from
pubspec.yamlandflutter pub getruns
From any package details page, click "Copy" buttons to copy:
- YAML format:
package_name: ^1.0.0for pasting into pubspec.yaml - CLI command:
flutter pub add package_namefor terminal execution - Import statement:
import 'package:package_name/package_name.dart';for Dart files
The extension adds a dedicated section in the Activity Bar with two tree views:
- Lists all packages from your
pubspec.yaml - Separates dependencies (π¦) and dev_dependencies (π§)
- Shows current version for each package
- Toolbar Actions:
- π Refresh: Reload package list
- π Search: Open package search interface
- Item Actions:
- βΉοΈ Show Details: View package information
- Shows only packages with newer versions available
- Displays:
package_name (current β latest) - Shows score and popularity metrics
- Toolbar Actions:
- π Check Updates: Scan for new versions
- βοΈ Update All: Update all packages at once
- Item Actions:
- β¬οΈ Update: Update individual package
The WebView-based search interface features:
- Search Bar: Type to search pub.dev in real-time
- Package Cards: Each card shows:
- Package name and latest version
- Description
- Homepage and pub.dev links
- "Add Package" button
- Infinite Scroll: Automatically loads more results as you scroll
- Loading Indicators: Shows progress and retry options on errors
Click any package to see:
- Header: Name, description, publication date
- Metrics: Likes, score points, and popularity bar
- Install Button: Large button showing version to install
- Links: Homepage, Repository, pub.dev
- Installation Instructions:
- YAML snippet with Copy button
- CLI command with Copy button
- Import statement with Copy button
- Available Versions: List of recent versions (shows 15 most recent)
- Dependencies: JSON view of package dependencies (if any)
- Tags: Platform and SDK compatibility tags
- VS Code: Version 1.106.0 or higher
- Flutter SDK: Must be installed and accessible in PATH
- Flutter Project: A workspace with a
pubspec.yamlfile
| Command | Description | Access |
|---|---|---|
ASSOUN: Search Flutter Packages |
Open visual package search interface | Command Palette, Sidebar toolbar |
ASSOUN: Add Package to pubspec.yaml |
Add a package by entering its name | Command Palette |
ASSOUN: Remove Package |
Remove an installed package | Command Palette |
ASSOUN: Refresh Package List |
Refresh the installed packages view | Sidebar toolbar |
ASSOUN: Run Flutter Pub Get |
Manually run flutter pub get |
Command Palette |
ASSOUN: Show Package Details |
View detailed information about a package | Package item context menu |
ASSOUN: Check for Updates |
Scan for available package updates | Updates view toolbar |
ASSOUN: Update Package |
Update a specific package to its latest version | Update item inline button |
ASSOUN: Update All Packages |
Update all packages with available updates | Updates view toolbar |
- Ensure you're in a Flutter workspace with a
pubspec.yamlfile - Reload VS Code window (
Ctrl+Shift+Pβ "Developer: Reload Window")
- Click the π Refresh icon in the Installed Packages view
- Verify your
pubspec.yamlis valid YAML syntax - Check that dependencies are properly indented
- Ensure Flutter SDK is installed on your system
- Verify
fluttercommand is accessible in your PATH - Run
flutter --versionin terminal to confirm installation
- The extension automatically retries failed requests 3 times
- Check your internet connection
- pub.dev API may be temporarily unavailable - try again later
- Timeout is set to 30 seconds with automatic retry delays (1s, 2s, 3s)
- This issue was fixed in the latest version
- Reload VS Code to apply updates
- If problem persists, close and reopen the search panel
- Click π Check for Updates to scan for new versions
- Ensure you have an internet connection
- Some packages may already be on their latest versions
npm install # Install dependencies
npm run watch # Watch mode (auto-compile)
npm run compile # Compile once
npm test # Run tests
vsce package # Package extension- Visual package search with real-time results
- Package details page with version history
- Update detection and bulk updates
- Network resilience with automatic retry
- Dependency graph visualization
- Multi-workspace project support
- Offline package cache
- Package list export/import
- Private package repository support
- Integration with pub.dev analytics
- AI-powered package recommendations
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add: Amazing Feature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
git clone https://github.com/assoun-dev/assoun.git
cd assoun
npm install
npm run watch # Start compilation in watch modePress F5 in VS Code to launch the Extension Development Host.
MIT License - See LICENSE file for details
ASSOUN Team
- GitHub: @assoun-dev
- pub.dev API for package data
- Flutter community for inspiration
- VS Code Extension API for the framework
Enjoy faster Flutter development with ASSOUN! π
If you find this extension helpful, please consider giving it a β on GitHub!