Supercharged Elasticsearch Tools for VS CodeFor engineers building with Elasticsearch; or looking for easier way to maintain Elasticsearch in production. This extension for VSCode brings a supercharged Kibana DevTools-like functionality directly into your editor, along with advanced query and index mapping editing, mock-data generator, snippets, 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?🛠️ Kibana DevTools-like Interface
Example usage:
🔍 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 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
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
Cloud ID Issues
- Verify Cloud ID format:
deployment-name:base64-encoded-data
- Check that Cloud ID is properly decoded
- Ensure authentication credentials are correct for Cloud deployment
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! 🔍✨