Supercharged Elasticsearch Tools for VS CodeFor engineers building with Elasticsearch; or looking for easier way to maintain Elasticsearch in production. DevTools in your IDE, snippets and intellisense, mock-data generator and more. Fully supporting all modern Elasticsearch versions, running anywhere (Elastic Cloud and self-managed), with smart configuration management and Cloud ID support. 🚀 What's Inside?🛠️ DevTools in your IDE
Example
🔍 Advanced Query Editor
🗺️ Index Mapping Editor
🎲 Mock Data Generator
More Coming Soon📦 InstallationFrom VS Code Marketplace
🎯 Quick Start1. Configure Elasticsearch Connection (optional)If you want to use DevTools, you'd need to set up a connection to a cluster. This extension supports only one connection at a time.
The configuration dialog will open with the following options:
Note: If no configuration is set, a warning banner will appear in Alternatively, you can create a
Security Note: Passwords, API keys, and Elastic Cloud API keys are never stored in the configuration file. The extension will prompt for these values when needed and store them securely in memory only. 2. Create Your First Query FileDevTools-style HTTP queries (
|
Shortcut | Action | Context |
---|---|---|
Cmd/Ctrl+Enter |
Execute Query | .es.http , .es.query.json files |
Cmd/Ctrl+Shift+F |
Format Query | .es.query.json files |
Cmd/Ctrl+Shift+D |
Open DevTools Panel | Global |
🎛️ Commands
Command | Description | Context |
---|---|---|
Elasticsearch: Configure Connection |
Open configuration dialog | Global |
Elasticsearch: Execute Query |
Execute current query | .es.http , .es.query.json files |
Elasticsearch: Format Query |
Format JSON query | .es.query.json files |
Elasticsearch: Wrap in Bool Filter |
Wrap selection in bool filter clause | .es.query.json files |
Elasticsearch: Wrap in Bool Should |
Wrap selection in bool should clause | .es.query.json files |
Elasticsearch: Wrap in Bool Must Not |
Wrap selection in bool must_not clause | .es.query.json files |
Elasticsearch: Open Elasticsearch DevTools |
Open DevTools panel | Global |
Elasticsearch: Generate Mock Data from Mapping |
Generate realistic test data from mapping | .es.mapping.json files |
🎨 File Types & Features
.es.http
- DevTools HTTP Files
- Purpose: Kibana DevTools-like interface for HTTP requests
- Features:
- HTTP method support (GET, POST, PUT, DELETE)
- Auto-completion for Elasticsearch API endpoints
- Cluster management operations (health, stats, nodes)
- Index operations (CRUD, mappings, settings)
- Advanced features (ILM, snapshots, security, watchers)
- Snippets: 80+ snippets for all ES operations (
es-get-health
,es-put-ilm-policy
) - Usage: DevTools-style queries with request/response separation
.es.query.json
- Elasticsearch Query Files
- Purpose: Valid JSON files for Elasticsearch queries and aggregations
- Features:
- Full IntelliSense with query and aggregation completion
- Query validation and JSON formatting
- Bool query wrapping shortcuts (filter, should, must_not)
- Real-time syntax validation
- Snippets: 50+ query and aggregation snippets (
es-match
,es-bool
,es-agg-terms
) - Usage: Pure JSON query development with execution support
.es.mapping.json
- Index Mapping Files
- Purpose: Valid JSON files for Elasticsearch index mappings
- Features:
- Comprehensive mapping validation
- Field type checking and recommendations
- Best practices analysis
- Mock data generation from mappings (Command Palette or right-click context menu)
- Snippets: 30+ field type and mapping snippets (
es-field-text
,es-mapping-complete
) - Usage: Index mapping design and validation
🎯 Use Cases
Development Workflow
- Design mappings using
.es.mapping.json
files with validation - Generate mock data from mappings for testing
- Develop queries using
.es.query.json
files with IntelliSense - Test APIs using
.es.http
files in DevTools style - Explore data using the tabular data viewer
Query Development
- Build complex bool queries with easy wrapping shortcuts
- Test aggregations with auto-completion
- Format and validate queries before deployment
- Export results for analysis
Data Exploration
- Browse index data in tabular format
- Search and filter documents
- Examine index mappings and settings
- Generate sample data for development
🐛 Troubleshooting
Common Issues
Connection Refused
- Verify Elasticsearch is running
- Check hosts configuration in settings
- Ensure SSL certificates are valid
- Verify authentication credentials if required
Configuration Warning Banner Appears
- Open Command Palette and run "Elasticsearch: Configure Connection"
- Add your Elasticsearch hosts or Cloud ID
- Ensure at least one non-default host is configured
- For file-based config: Check if
.es-config
exists in project root and has valid YAML syntax - For multiple connections: Ensure the
default
connection is properly configured
Queries Not Executing
- Check Elasticsearch configuration in settings
- Verify hosts are accessible and authentication is correct
- Check query syntax and formatting
- Verify index names exist
IntelliSense Not Working
- Ensure file has correct extension (
.es.query.json
,.es.http
) - Reload VS Code window
- Check extension is enabled
Mock Data Generation Fails
- Validate mapping JSON syntax
- Check for unsupported field types
- Ensure reasonable document count (<10,000)
Debug Mode
Enable debug logging:
{
"elasticsearch.debug": true
}
View logs in:
- Output Panel: "Elasticsearch Query Results"
- Developer Tools: Help > Toggle Developer Tools
🔗 Links
Happy searching! 🔍✨