String-LE: Zero Hassle Extraction
Instantly extract every user-visible string in VSCode
JSON YAML CSV TOML INI ENV
Screenshot Guide
✅ Why String‑LE
- FullStack i18n: Extract and dedupe locale strings (
en.json , fr.json , etc.).
- APIs: Catalog response and validation messages from JSON, YAML,
.env , and config files.
- Configs/Specs: Flatten text in YAML, TOML, INI, and OpenAPI specs for fast, confident edits.
- CSVs: Stream huge files, pick columns, and avoid UI lockups.
🚀 Quick Start
- Install from VS Code Marketplace
- Open any supported file type
Cmd/Ctrl + P String-LE
- Quick Extract with
Cmd+Alt+E /Ctrl+Alt+E /StatusBar
String‑LE is built for speed across all supported formats:
Format |
Throughput |
Best For |
ENV |
4M+ lines/sec |
Environment configs |
JSON |
1.8M+ lines/sec |
APIs, large datasets |
INI |
1.3M+ lines/sec |
Configuration files |
TOML |
530K+ lines/sec |
Modern configs |
CSV |
440K+ lines/sec |
Tabular data |
YAML |
190K+ lines/sec |
Human-readable configs |
See PERFORMANCE.md for detailed benchmarks and optimization guidelines.
📊 Test Coverage
- 100% unit coverage on pure extraction and transforms
- Contract tests for configuration side‑effects and parse‑error handling
- Data‑driven fixtures with golden expected outputs per format
- CSV streaming paths covered (batching, header/column selection)
- Stable locale sorting and dedupe normalization in harness
See TESTING.md

👉 Expand Detailed Documentation
🛠 Configuration
string-le.openResultsSideBySide – Open to the side
string-le.csv.streamingEnabled – Toggle CSV streaming
string-le.dedupeEnabled – Auto-dedupe strings
string-le.sortEnabled – Auto-sort output
- Safety Guards – File size warnings & thresholds
- Notification Levels – Control verbosity and alerts
⚠️ Behaviors & limits
- CSV support assumes standard delimiter/quoting; unusual dialects not supported
- Large outputs can be slow to open — use Copy when prompted
- Streaming applies only to CSV; other formats load in memory
- Multi-line strings (e.g., YAML block scalars) are only partially supported
- CSV multi-line and all-column extracts stream to the editor only (no auto-copy)
- Sorting and deduplication apply to final strings, not their original positions
- Fallback mode uses quoted-string heuristics and may include false positives
See CONFIGURATION.md
🌍 Language Support
English + 12 translations
- Chinese (Simplified), Spanish, French, Russian, Portuguese (Brazil)
- Japanese, Korean, German, Italian, Vietnamese, Ukrainian, Indonesian
See I18N.md
🔒 Privacy & Telemetry
This extension runs entirely locally and never sends data off your machine
Optional, local-only logs can be enabled via string-le.telemetryEnabled
To help troubleshoot (Output panel → “String-LE”)
See PRIVACY.md
🤝 Contributing
We welcome all contributions! Whether it's code, ideas, or feedback
See CONTRIBUTING.md
Copyright © 2025 @nolindnaidoo, All rights reserved.
| |