Après plusieurs années d’utilisation intensive de Vscodium (la version libre de VSCode), j’ai récemment pris le temps de tester Zed. Bien que je ne compte pas pour le moment migrer vers Zed, je trouve tout de même l’IDE très intéressant. Ce test a été une véritable révélation en termes de performance et d’expérience utilisateur.
Pourquoi s’intéresser à Zed ?
Vscodium a été une alternative formidable à VSCode depuis sa création. Sans les composants propriétaires et la télémétrie, il permet d’avoir un éditeur moderne et complet en totale conformité avec la philosophie open source.
Mais Vscodium souffre des limites de VSCode :
Performance : Malgré sa légèreté apparente, VSCode devient de plus en plus lourd. Le démarrage, les extensions, et surtout l’indexation des gros projets sont de plus en plus lents.
Consommation mémoire : Il n’est pas rare de voir VSCode consommer plus de 4 Go de RAM sur un projet complexe.
Écosystème d’extensions : Alors que l’écosystème est riche, beaucoup d’extensions sont mal maintenues ou se concentrent sur la monétisation plutôt que sur l’expérience.
Zed : Une nouvelle approche
Zed est un éditeur de code moderne développé par Zed Industries, fondée par les créateurs d’Atom. Ce n’est pas une copie de VSCode, mais une refonte complète de l’approche des éditeurs de code.
Points forts de Zed
- Performance exceptionnelle : Zed est écrit en Rust et utilise une architecture multithreadée qui tire pleinement parti des CPU modernes.
- Collaboration intégrée : Le système de collaboration est natif et fluide (comme le “Codespaces” de GitHub).
- Édition à distance native : Contrairement à Vscodium qui nécessite des extensions, Zed propose une édition à distance native et performante.
- UI minimaliste mais puissante : Zed évite la surcharge d’extensions en intégrant directement les fonctionnalités essentielles.
- Modèle économique clair : L’éditeur est gratuit pour l’usage individuel, avec un modèle SaaS pour les équipes.
Configuration optimale
Zed utilise JSON pour sa configuration (~/.config/zed/settings.json). Voici ma configuration typique :
{
"ui_font_size": 16,
"buffer_font_size": 14,
"theme": "Cobalt2",
"buffer_font_family": "JetBrains Mono Nerd Font",
"project_panel": {
"fold_calls": true,
"auto_expand": true
},
"editor": {
"wrap_lines": false,
"scroll_past_end": true,
"use_autoclose": true,
"show_virtual_text": true
}
}
Découverte : Étapes pratiques
1. Installation
Zed est disponible sur la plupart des distributions Linux via différentes méthodes :
Arch Linux (AUR) :
yay -S zed
Avec le script d’installation automatique :
curl -f https://zed.dev/install.sh | sh
Ou manuellement : documentation officielle.
2. Importation des préférences
Pour faciliter la transition, les raccourcis clavier dans Zed sont très proches de VS Code, donc 90% de vos réflexes fonctionneront.
3. Transfert des extensions
Zed n’utilise pas le même système d’extensions. Au lieu de cela, il utilise un système d’Extensions (souvent basées sur WASM) qui sont installées nativement.
Les fonctionnalités les plus demandées sont intégrées :
- Git : Intégré avec support pour GitHub/GitLab
- LSP : Support natif du protocole LSP
- Terminal : Intégré avec support multi-panneau
- Debug : Support pour plusieurs langages
Pour les fonctionnalités spécifiques à certaines extensions, Zed propose souvent des alternatives :
| Extension VSCode | Alternative dans Zed |
|---|---|
| Prettier | Formatage natif |
| ESLint | LSP intégré (eslint-lsp) |
| GitLens | Historique intégré |
| Python | Serveur de langage Python (pylsp) |
4. Configuration d’un serveur OpenAI compatible (Ollama, vLLM, etc.)
Zed supporte nativement les API compatibles OpenAI, ce qui permet d’utiliser des modèles locaux comme Ollama, vLLM, ou tout autre serveur LLM auto-hébergé.
Configuration dans ~/.config/zed/settings.json
{
"language_models": {
"openai_compatible": {
"ollama": {
"api_url": "http://localhost:11434/v1",
"available_models": [
{
"name": "qwen-coder-next:80b",
"display_name": "Qwen Coder 80B",
"max_tokens": 500000
}
]
}
}
},
"assistant": {
"version": "2",
"default_model": {
"provider": "openai_compatible",
"model": "qwen-coder-next:80b"
}
}
}
[!TIP] Les variables d’environnement dans Zed sont supportées via la syntaxe
${VARIABLE_NAME}. Vous pouvez donc stocker vos clés API dans un fichier.envou dans votre shell.
Comparaison des performances
Pour avoir une idée de l’amélioration, voici mes mesures sur un projet TypeScript de taille moyenne (~5000 fichiers) :
| Métrique | Vscodium | Zed |
|---|---|---|
| Démarrage | ~1.5s | ~0.3s |
| RAM au démarrage | ~300 Mo | ~80 Mo |
| RAM avec indexation | ~2.5 Go | ~450 Mo |
| Recherche dans le projet | ~8s | ~1.2s |
| Formatage de fichier | ~2s | ~0.3s |
Les gains sont spectaculaires, surtout sur un projet de plus grande taille.
Conclusion
Bien que je ne compte pas pour le moment migrer vers Zed, l’IDE est indéniablement intéressant. La performance, la simplicité et l’approche moderne de Zed en font un outil particulièrement pertinent. Je vais garder un œil attentif sur son évolution.
Si vous êtes fatigué par la lourdeur de VSCode/Vscodium et que vous cherchez un éditeur plus léger mais tout aussi puissant, je vous recommande chaudement de tester Zed. La courbe d’apprentissage est très douce, surtout si vous êtes déjà habitué aux raccourcis de VSCode.
[!TIP] Zed est en version pré-1.0 (0.x), mais l’éditeur est déjà très stable pour une utilisation quotidienne. Le développement est très actif avec des mises à jour hebdomadaires.