DotEnvy
Manage your .env files easily in VS Code
dotenvy β VS Code Environment Manager
π dotenvy makes it effortless to manage and switch between your .env files directly inside VS Code. No more manual renaming or copy-pastingβjust pick your environment and start coding immediately!
π₯ Install from VS Code Marketplace β’ π Documentation β’ π Report Issues
β¨ Features
π Environment Switching
Effortlessly switch between .env.development, .env.staging, .env.production, or any custom .env.* file with a single click.
π Full Deep Internationalization (New in v2.2.1!)
Native support for English, Italian (it), Arabic (ar) (with full RTL support), and Russian (ru), with a seamless sidebar dropdown to switch languages instantly across all dialogs, dashboards, and panels (Variable Manager, Trash Bin, History, Timeline, Analytics, and Secrets Scanner).
π¨ Compact Sidebar & Onboarding Banner (New!)
A modern, space-efficient sidebar design tailored for narrow split screens, complete with an interactive onboarding setup banner for newly opened repositories.
βοΈ Advanced Cloud Sync & Doppler Integration
Bidirectional cloud sync with Doppler Secrets Manager, supporting multi-file prefix routing (BACKEND_, FRONTEND_), orphan key cleanup, and automatic project discovery.
π Auto Detection & Sync
Automatically scans your workspace for .env files and syncs seamlessly across multi-workspace setups.
πΏ Git Branch Auto-Switching
Automatically switch environments based on Git branch changes (develop β .env.development, staging β .env.staging, etc.)
β Environment Validation
Validate .env files for syntax errors, required variables, and type checking with custom regex patterns.
π Diff View
Compare environment files side-by-side before switching to preview changes and avoid surprises.
π‘οΈ Git Commit Security & Monorepo Support
Prevent committing sensitive data with pre-commit hooks that scan for secrets, validation errors, and block .env files, featuring smart git root discovery for monorepos.
πΎ Backup & Recovery
Automatic backup creation before switching, with portable AES-256-GCM encrypted backups that work across any device.
π Status Bar Integration
Real-time environment indicator in status bar showing current configuration, validation status, and cloud sync state.
π What's New in v2.2.0?
π Community Spotlight & Thank You!
A heartfelt thank you to @FaberVi for contributing PR #2, bringing full Italian localization, sidebar UX modernization, Doppler multi-file prefix mapping, and monorepo git hooks. We apologize for the delay in reviewing and integrating your PR while we were re-architecting the core security engine. Your contributions are now a proud part of DotEnvy!
π Complete Italian Localization & Custom Switcher
DotEnvy is now fully localized into Italian across the entire extension! Every command, notification, and webview panel (including Variable Manager, Trash Bin, Timeline, History, Analytics, and Secrets Scanner) supports seamless, instant switching between English and Italian from the sidebar without restarting your editor.
π¨ Compact Sidebar Redesign & Toasts
Redesigned with a compact responsive layout for sidebars, plus clean in-panel toast notifications and progress bars.
βοΈ Doppler Multi-File Sync & Cleanups
Easily split and merge Doppler secrets across multiple .env files using environment prefixes, with automatic orphan variable cleanup.
ποΈ Session Trash Bin (Lifesaver!)
Deleted a crucial variable by mistake? No worries. Restore it with a single click from the new Session Trash Bin.
Trash Bin Demo
π Native VS Code Diff & History
Review your .env changes exactly like you review Git commits.
Native Diff Demo
π Environment Analytics
Track your usage, stability metrics, and most active environments directly from your dashboard.
Analytics Dashboard
βοΈ Compact Switcher & Settings
Manage all your environments seamlessly from a clean, native sidebar.
Environment Switcher
π§ AI Secrets Guard (Enterprise Grade) π
Production-grade secret detection powered by a custom ML model with HMAC-secured communication and an interactive Secrets Panel.
Key Engine Features:
- π OS-Encrypted Secret Storage β Shared secret stored in VS Code SecretStorage (Keychain / libsecret / Credential Manager), never in the compiled bundle
- 35-Feature ML Model (fixed) β Feature count corrected from 31 β 35, entropy normalization fixed to match Python backend exactly
- π Secrets Panel β Full WebviewPanel shows all detected secrets (no more 5-item cap) with filter by confidence, search, View / Move to .env / Not a Secret buttons
- π§ AI Training Feedback β "Not a Secret" and "Move to .env" send labeled training samples to the Railway model β it learns from your corrections
- π« .dotenvyignore β New file (same syntax as
.gitignore) lets you exclude files and folders from secret scanning - π Centralized Logging β All extension logs visible in VS Code Output panel β DotEnvy
- π Smart Fallback β Local fallback analysis uses all 35 features including variable name signals (e.g.
DB_PASSincreases risk even with low entropy)
π Data Privacy & Security (Secrets Guard)
We take your code's security seriously. Here is exactly how DotEnvy handles your data during AI secret scanning:
- Targeted Analysis: DotEnvy does NOT upload your entire workspace. Only the specific line containing a suspected secret (and its immediate surrounding context) is sent to our LLM engine for verification.
- Zero Retention (Ephemeral Processing): The
secret_valueandcontextsent for analysis are processed exclusively in-memory. We do not store, log, or save your source code or secrets on our servers. - Opt-in Model Training: We only use data to train our ML models when you explicitly provide feedback (e.g., clicking "Not a Secret" or "Move to .env"). This sends 35 anonymized numerical features and your action label.
- Secure Communication: All API requests are strictly authenticated using a unique
X-Machine-IDand an HMACX-Extension-Signatureto prevent abuse and secure data in transit.
π Commands
All commands are accessible via the Command Palette (Ctrl+Shift+P / β+Shift+P).
π Environment Manager
DotEnvy: Switch Environmentβ Switch between.envfilesDotEnvy: Open Variable Managerβ Open the full-page variable editor tabDotEnvy: Validate Environment Filesβ Validate for syntax errors and required variables
π Explorers & Analytics
DotEnvy: View Environment Historyβ View the dense history table and slide-over advanced filtersDotEnvy: Open Trash Binβ Recover accidental deletions or changes in real-timeDotEnvy: Open Analytics Panelβ View heatmap and stability metricsDotEnvy: Open Timeline Panelβ View the SVG timeline viewer tab
π‘οΈ Git Integration
DotEnvy: Install Git Commit Hookβ Block commits containing secretsDotEnvy: Remove Git Commit Hookβ Remove the installed hook
βοΈ Cloud Sync
DotEnvy: Pull Environment from Cloudβ Pull from DopplerDotEnvy: Push Environment to Cloudβ Push to Doppler
π Security
DotEnvy: Scan for Secretsβ Scan workspace with AI-powered detection; opens Secrets Panel with all findingsDotEnvy: Init .dotenvyignoreβ Create a pre-populated.dotenvyignorefileDotEnvy: Setup LLM Secretβ Store the HMAC shared secret securely in OS vault
π±οΈ Right-Click (Explorer)
DotEnvy: Ignore this pathβ Right-click any file or folder β add to.dotenvyignoreinstantly
π¬ Support
DotEnvy: Feedback & Supportβ Access feedback and support resourcesDotEnvy: Show What's Newβ View changelog for current version
π« .dotenvyignore
Control which files DotEnvy skips when scanning for secrets β same syntax as .gitignore:
# .dotenvyignore
# DotEnvy's own data (always recommended)
.dotenvy/**
.dotenvy-backups/**
# Test files (often contain example secrets)
**/*.test.ts
**/*.spec.ts
tests/**
# Docs with example secrets
docs/**
README.md
SECURITY.md
# Specific files
k8s/secrets.yamlRun DotEnvy: Init .dotenvyignore to create a default file, or right-click any file/folder in the Explorer and choose "DotEnvy: Ignore this path".
π¦ Installation
Quick Install
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X/β+Shift+X) - Search for "dotenvy"
- Click Install
Alternative Methods
- Download from VS Code Marketplace
- Manual: Download
.vsixfile and install via VS Code
Requirements
- VS Code 1.90.0 or later
π Usage
-
Place your environment files in your project root:
BASH.env.development .env.staging .env.production -
Open the Command Palette (
Ctrl+Shift+P). -
Run
DotEnvy: Switch Environmentand pick your environment. -
The selected file is copied to
.envautomatically.
β The status bar updates to show the active environment.
βοΈ Configuration
// .dotenvy.json
{
"environments": {
"local": ".env.local",
"qa": ".env.qa",
"prod": ".env.production"
},
"gitBranchMapping": {
"develop": "development",
"staging": "staging",
"main": "production"
},
"autoSwitchOnBranchChange": true,
"validation": {
"requiredVariables": ["API_KEY", "DATABASE_URL"],
"variableTypes": {
"PORT": "number",
"DEBUG": "boolean",
"API_URL": "url"
}
},
"gitCommitHook": {
"blockEnvFiles": true,
"blockSecrets": true,
"blockValidationErrors": true
}
}βοΈ Cloud Sync Setup (Doppler)
{
"cloudSync": {
"provider": "doppler",
"project": "your-project-name",
"config": "development",
"token": "dp.pt.your_token_here"
}
}πΊοΈ Roadmap & Contributing
For upcoming features, see ROADMAP.md.
Issues and PRs are welcome! Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
π₯ Contributors & Special Thanks
Special thanks to @FaberVi for authoring the Italian localization, custom dropdown language switcher, compact sidebar design, and Doppler multi-file sync improvements in PR #2.
π License
This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.
Related Products
β
β
β
β
β
β
β
β
β
β
β
β