.ENV File Viewer - Environment Variable Manager

The #1 .env file manager for VS Code
View β’ Search β’ Copy β’ Export β’ Validate your environment variables
Works with .env, .env.local, .env.production, .env.development and more!
Install Now β’ Report Bug β’ Request Feature
🎯 Why You Need This Extension
Are you tired of:
- β Opening multiple
.env files to find one variable?
- β Copying environment variables manually and making mistakes?
- β Not knowing if your PORT or URL values are valid?
- β Switching between development and production configs?
This extension solves all of that! β¨
🚀 Quick Start
- Install the extension from VS Code Marketplace
- Open any project with
.env files
- Look for "Environment Variables" in your Explorer sidebar
- Done! Start viewing and managing your environment variables
Or press Ctrl+Alt+E (Mac: Cmd+Alt+E) to open the quick picker!
β¨ Key Features
🔍 Smart .env File Detection
Automatically finds and loads ALL your environment files:
- β
.env (main)
- β
.env.local (local overrides)
- β
.env.development (dev environment)
- β
.env.production (production)
- β
.env.test (testing)
- β
.env.staging (staging)
- β
.env.example (template)
- β
Custom patterns via settings
Perfect for: React, Next.js, Vue, Angular, Node.js, Docker, and any framework using .env files!
📋 Instant Copy & Paste
Copy environment variables with one click:
- 🔑 Copy Key - Just the variable name (e.g.,
API_KEY)
- 📝 Copy Value - Just the value (e.g.,
abc123xyz)
- 📦 Copy Both - Full pair (e.g.,
API_KEY=abc123xyz)
Use case: Need to paste an API key into Postman? One click. Done. β
Export your environment variables to:
- JSON - For API documentation
- YAML - For Kubernetes/Docker configs
- CSV - For spreadsheets and analysis
- .env - Create backups or share templates
Use case: Share your .env structure with your team (without exposing real values!)
β
Automatic Validation (v1.1.0)
Catch configuration errors before they break production:
- β οΈ Invalid ports - "8080abc" is not a valid port!
- β οΈ Malformed URLs - Missing http:// or https://
- β οΈ Empty secrets - Your API_KEY shouldn't be blank!
- β οΈ Placeholder values - "your-api-key-here" needs to be replaced
- β οΈ Wrong booleans - Use "true" or "false", not "yes" or "no"
Visual warnings with yellow icons and tooltips - fix issues in seconds!
🌳 Dual Interface
Choose how you work:
1. Tree View Panel (Sidebar)
- See all .env files organized in one place
- Expand/collapse files
- Hover to see full values
- Right-click for copy options
2. Quick Pick Interface (Keyboard)
- Press
Ctrl+Alt+E to open
- Type to search instantly
- Select and copy in one action
- Perfect for keyboard warriors β¨οΈ
🔒 Security First
- Sensitive Value Masking - Automatically hides passwords, secrets, API keys, and tokens
- Masked by default - Enabled out of the box (can be disabled)
- Screenshot safe - Safe to share screens during meetings
- No data sent - Everything runs locally in VS Code
🔎 Powerful Search
Find variables instantly:
- Search across all .env files at once
- Fuzzy matching - typos don't matter
- Search both keys and values
- Case-insensitive
- Press
Ctrl+Alt+F when tree view is focused
Example: Type "port" to find PORT, DATABASE_PORT, REDIS_PORT, etc.
🎬 See It In Action
Tree View:
📁 .env (5 variables)
🔑 PORT = 3000
🔑 DATABASE_URL = postgres://...
β οΈ API_KEY = (empty) β validation warning!
📁 .env.production (8 variables)
🔑 NODE_ENV = production
🔑 API_URL = https://api.example.com
...
🎯 Perfect For
| Use Case |
How This Helps |
| Frontend Developers (React, Vue, Angular) |
Quickly access API URLs, feature flags, and environment configs |
| Backend Developers (Node.js, Python, Go) |
Manage database connections, service URLs, and API keys |
| DevOps Engineers |
Export configs to Kubernetes YAML or Docker Compose |
| Full-Stack Teams |
Share .env templates, validate configs before deployment |
| Open Source Projects |
Provide .env.example with validation for contributors |
📖 Complete Feature List
Core Features
- β
Multi-file support - All .env variants automatically detected
- β
Tree view panel - Organized sidebar in Explorer
- β
Quick pick interface - Keyboard-driven search and select
- β
Smart copying - Key, value, or both with one click
- β
Line numbers - Jump to exact location in file
- β
Auto-refresh - Updates when .env files change
- β
Context menus - Right-click anywhere for actions
- β
Multi-workspace - Works with VS Code workspaces
Advanced Features (v1.1.0)
- β
Export to JSON/YAML/CSV/.env - Share or backup configs
- β
Variable validation - Catch errors before they break production
- β
Validation warnings view - See all issues at a glance
- β
Visual indicators - Warning icons for invalid variables
- β
Quick fix navigation - Click warning β jump to file location
Security & Privacy
- β
Sensitive value masking - Hide passwords, secrets, keys, tokens
- β
Masked by default - Secure out of the box
- β
Tooltip masking - Masked values stay masked everywhere
- β
No telemetry - Your data never leaves your machine
- β
Path validation - Protection against malicious workspace settings
βοΈ Configuration
Customize the extension to fit your workflow:
Settings
{
// Which files to scan (default: common .env variants)
"envViewer.envFilePatterns": [
".env",
".env.local",
".env.development",
".env.production"
],
// Show line numbers in tree view and quick pick
"envViewer.showLineNumbers": true,
// Automatically mask sensitive values (RECOMMENDED)
"envViewer.maskSensitiveValues": true,
// Auto-refresh when .env files change
"envViewer.autoRefresh": true,
// How to sort variables
"envViewer.sortVariables": "alphabetical" // or "none", "byFile"
}
Keyboard Shortcuts
| Shortcut |
Action |
Ctrl+Alt+E / Cmd+Alt+E |
Open environment variable viewer |
Ctrl+Alt+F / Cmd+Alt+F |
Search variables (when tree focused) |
Tip: Customize shortcuts via File > Preferences > Keyboard Shortcuts
💡 Usage Examples
Example 1: Copy API Key to Postman
- Press
Ctrl+Alt+E
- Type "api"
- Click your API_KEY
- Value copied! Paste into Postman β
Example 2: Export Config for Docker
- Click the 📤 Export button in tree view
- Select "YAML" format
- Save as
docker-config.yaml
- Use in your Dockerfile or docker-compose.yml β
Example 3: Find All Port Configurations
- Click 🔍 Search in tree view
- Type "port"
- See all PORT variables across all .env files
- Jump to any file with one click β
Example 4: Validate Before Deployment
- Click β οΈ Validation Warnings button
- See all configuration errors
- Click any warning to jump to file
- Fix issues and deploy confidently β
🤔 FAQ
Q: Does this work with .env.local and other variants?
A: Yes! It automatically detects .env, .env.local, .env.development, .env.production, .env.test, .env.staging, .env.example, and any custom patterns you configure.
Q: Is my sensitive data secure?
A: Absolutely. All processing happens locally in VS Code. Nothing is ever sent to external servers. Sensitive values are masked by default, and the extension has passed comprehensive security audits.
Q: Can I use this with Docker/Kubernetes?
A: Yes! Export your variables to YAML format for Kubernetes ConfigMaps/Secrets, or use .env export for Docker Compose.
Q: Does it support multiple workspaces?
A: Yes! If you have multiple workspace folders open, the extension scans all of them.
Q: Can I share my .env structure without exposing values?
A: Yes! Export to JSON/YAML/CSV with masked values, or manually create a .env.example file. You can copy keys only and share those with your team.
🆚 Why Choose This Over Other Extensions?
| Feature |
This Extension |
Other .env Extensions |
| Tree View |
β
Yes |
β Most don't have |
| Quick Pick |
β
Yes |
β Most don't have |
| Export (JSON/YAML/CSV) |
β
Yes |
β Rare |
| Validation |
β
Yes (ports, URLs, booleans) |
β None |
| Multi-file Support |
β
All variants |
β οΈ Limited |
| Security Masking |
β
Masked by default |
β οΈ Optional or missing |
| Search Across Files |
β
Yes |
β Rare |
| Active Development |
β
Regular updates |
β οΈ Many abandoned |
| Zero Vulnerabilities |
β
Audited & secure |
β Unknown |
📊 Supported Frameworks
Works perfectly with any framework that uses .env files:
- βοΈ React (Create React App, Vite)
- β² Next.js (All versions)
- 💚 Vue.js (Vue CLI, Vite, Nuxt)
- 🅰οΈ Angular
- 🔷 Svelte (SvelteKit)
- 🟢 Node.js (Express, Fastify, NestJS)
- 🐍 Python (Django, Flask with python-dotenv)
- 🐹 Go (godotenv)
- 🦀 Rust (dotenv)
- 🐳 Docker / Docker Compose
- βΈοΈ Kubernetes (via export to YAML)
🐛 Troubleshooting
Extension not showing up?
- Make sure you have at least one
.env file in your workspace root
- Check that the file is named correctly (
.env, not env.txt)
- Restart VS Code if needed
Variables not updating?
- Make sure
envViewer.autoRefresh is enabled in settings
- Click the 🔄 Refresh button in the tree view
- Save your .env file to trigger refresh
Can't find a specific file type?
- Add your custom pattern to
envViewer.envFilePatterns in settings
- Example:
".env.custom", "config.env"
🛣οΈ Roadmap
Version 1.2.0 (Coming Soon)
- [ ] Bulk editing (rename/update multiple variables)
- [ ] Encryption support for sensitive values
- [ ] Environment diff view (compare .env files)
- [ ] Variable templates and presets
Version 1.3.0
- [ ] Cloud secret manager integration (AWS, Azure, GCP)
- [ ] Team collaboration features
- [ ] Variable dependency tracking
- [ ] Auto-completion in .env files
Vote for features: GitHub Issues
β Support Development
This extension is 100% free and will always be. If it saves you time and you want to support development:

Your support helps:
- β¨ Keep the extension free for everyone
- 🚀 Fund new features and improvements
- 🐛 Fix bugs and maintain compatibility
- 📚 Create better documentation
Thank you! 🙏
📝 Changelog
See CHANGELOG.md for detailed release notes.
Latest (v1.1.0)
- β¨ NEW: Export to JSON, YAML, CSV, .env
- β¨ NEW: Variable validation with warnings
- 🔒 SECURITY: Fixed path traversal vulnerability
- 🔒 SECURITY: Fixed masking bypass issues
- 🐛 FIXED: All resource leaks and race conditions
- β¬οΈ UPDATED: TypeScript 5.3, 0 npm vulnerabilities
🤝 Contributing
Contributions are welcome! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature)
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
📄 License
MIT License - see LICENSE file for details.
🌟 Show Your Support
If this extension helps you, please: