- AWS S3 - Full integration with Amazon S3 buckets
- DigitalOcean Spaces - Seamless Spaces management
- Azure Blob Storage - Structure ready (coming soon)
- Google Cloud Storage - Structure ready (coming soon)
- Switch between providers without leaving VS Code
- Browse - Navigate folders with intuitive breadcrumb interface
- Upload - Drag-and-drop or button upload with smart file naming
- Download - Save files locally with auto-increment on conflicts
- Delete - Remove files with confirmation dialogs
- View - Preview images, PDFs, and text files directly in VS Code
- Card View - Visual grid layout with large file icons
- List View - Traditional table view for detailed information
- Dark Theme - Beautiful design matching VS Code aesthetics
- Real-time Notifications - Stay informed of all operations
- Parent Folder Navigation - Quick ".." navigation to go up
- Secure Storage - Credentials stored in VS Code's SecretStorage
- OS-Level Encryption - Windows Credential Manager, macOS Keychain, Linux Secret Service
- No External Servers - All operations run locally
- Direct SDK Integration - Your data never touches third parties
- Recently Closed - Restore last 3 closed connections with one click
- Bulk Operations - Select and manage multiple files at once
- Smart Naming - Auto-rename on download conflicts
- File Size Limits - 50MB upload validation
- Empty State Feedback - Clear messaging and guidance
- Open VS Code
- Press
Ctrl+Shift+X(orCmd+Shift+Xon Mac) to open Extensions - Search for "CloudCrate"
- Click Install
code --install-extension yourpublisher.cloudcrateAfter installation:
- Click the CloudCrate icon in the Activity Bar (left sidebar)
- Or press
Ctrl+Shift+Pβ "CloudCrate: Open Manager" - You'll see the welcome screen
- Click "+ Add Connection" button
- Select your cloud provider (AWS S3, DigitalOcean, etc.)
- Enter your credentials:
- Connection Name (friendly name)
- Access credentials (keys, bucket name, region)
- Click "Test & Connect"
- Start managing files!
- Browse: Click folders to navigate
- Upload: Drag files or click Upload button
- Download: Select files β Download button
- View: Select one file β View button (for supported types)
- Delete: Select files β Delete button (with confirmation)
- Status: β Full Support
- Requirements:
- AWS Access Key ID
- AWS Secret Access Key
- Bucket Name
- Region
- Get Credentials: https://console.aws.amazon.com/iam/
- Documentation: AWS S3 Setup Guide
- Status: β Full Support
- Requirements:
- Spaces Access Key
- Spaces Secret Key
- Space Name
- Region (nyc3, sfo3, ams3, etc.)
- Get Credentials: https://cloud.digitalocean.com/account/api/
- Documentation: DigitalOcean Setup Guide
- Status: π§ Coming Soon
- Requirements (Planned):
- Storage Account Name
- Account Key
- Container Name
- Status: π§ Coming Soon
- Requirements (Planned):
- Project ID
- Service Account JSON Key
- Bucket Name
Method 1: Drag & Drop
1. Navigate to your desired folder
2. Drag files from your computer
3. Drop onto the CloudCrate file list
4. Files upload automatically!
Method 2: Button Upload
1. Click the "β¬οΈ Upload" button
2. Select files from your computer
3. Click "Open" - files upload immediately
CloudCrate can preview files directly in VS Code:
Supported Formats:
- Images: PNG, JPG, GIF, SVG, WebP, BMP
- Documents: PDF
- Text/Code: TXT, MD, JSON, JS, TS, HTML, CSS, XML, YAML, LOG, etc.
To view:
1. Select one file (checkbox)
2. Click "ποΈ View" button
3. File opens in modal viewer
4. Close with X or ESC key
1. Check multiple files
2. Click "β¬οΈ Download" to save all
OR
Click "ποΈ Delete" to remove all (with confirmation)
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- VS Code >= 1.80.0
# Clone repository
git clone https://github.com/selvadhoni/cloudcrate.git
cd cloudcrate
# Install dependencies
pnpm install
# Build all packages
pnpm run build# Open in VS Code
code .
# Press F5 to launch Extension Development Host
# Make changes, reload window (Ctrl+R) to testpnpm run buildcd packages/extension
npx vsce package- Language: TypeScript
- Framework: Monorepo with pnpm workspaces
- UI: Vanilla HTML/CSS/JavaScript (single-file webview)
- Cloud SDKs: @aws-sdk/client-s3, Azure SDK, GCP SDK
packages/
βββ extension/ # VS Code extension host
βββ logic/ # NestJS backend services
βββ webview-ui/ # Next.js frontend UI
src/
βββ extension.ts # Extension entry point
βββ utils/
β βββ WebviewManager.ts # Core business logic
βββ webview-ui/
β βββ app.html # Complete UI (HTML+CSS+JS)
βββ logic/
βββ interfaces/ # Cloud provider contracts
Available via Command Palette (Ctrl+Shift+P / Cmd+Shift+P):
- CloudCrate: Open Manager - Open CloudCrate panel
- CloudCrate: Add Connection - Add new cloud storage connection
- CloudCrate: Refresh - Reload current file list
Add Connection:
1. CloudCrate panel β "+ Add Connection"
2. Select provider
3. Enter credentials
4. Test & Connect
Close Connection:
1. Hover over connection in sidebar
2. Click X button
3. Confirm closure
Restore Connection:
1. Check "Recently Closed" section
2. Click on connection to restore
3. Back to active connections!
- List View: Traditional table with Name, Size, Modified columns
- Card View: Grid layout with large icons
- Toggle via buttons in top-right corner
- Preference remembered automatically
- Check Credentials: Verify Access Keys are correct
- Check Region: Ensure region matches your bucket/space
- Check Permissions: Verify IAM permissions allow S3 access
- Check Network: Ensure internet connection is stable
- Refresh: Click the "π Refresh" button
- Check Path: Verify you're in correct folder
- Check Permissions: Ensure read access to bucket
- Reload Extension:
Ctrl+Rin Extension Dev Host
- File Size: Check file is under 50MB limit
- Write Permissions: Verify upload permissions on bucket
- Network: Check internet connection
- View Logs: Help β Toggle Developer Tools β Console
- File Type: Check if format is supported (see list above)
- File Size: Large files may take time to load
- Permissions: Verify read access
- API Keys: Stored securely using VS Code's SecretStorage (OS-encrypted)
- Data Flow: Direct SDK communication - no intermediary servers
- No Telemetry: CloudCrate doesn't collect usage data
- Local Execution: All operations run within VS Code
- Credential Cleanup: Automatic removal on connection deletion
We welcome contributions! Please see our Contributing Guide for:
- Code of conduct
- Development setup
- Pull request process
- Coding standards
Quick Links:
- User Guide - Complete usage instructions
- API Reference - Cloud provider setup
- Development - For contributors
- Architecture - Technical design
- Changelog - Version history
- AWS S3 support
- DigitalOcean Spaces support
- File upload/download/delete
- File preview (images, PDF, text)
- Card & List views
- Recently closed connections
- Azure Blob Storage implementation
- Google Cloud Storage implementation
- File search functionality
- File rename operation
- Folder upload support
- File synchronization
- Public URL generation
- Progress indicators for large files
- Multi-workspace support
- Custom keyboard shortcuts
MIT License - See LICENSE file for details
- Built with VS Code Extension API
- Powered by official cloud SDKs:
- UI inspired by modern file managers
- GitHub Issues: Report bugs or request features
- GitHub Discussions: Ask questions or share ideas
- Email: selvadhoni640@gmail.com
Made with β€οΈ for the VS Code Community by Selvakannan R
β Star us on GitHub if you find CloudCrate helpful!
Report Bug β’ Request Feature β’ Documentation