Zed
Zed est un éditeur haute performance créé par les développeurs d'Atom. Construit en Rust avec une interface utilisateur accélérée par GPU. 2025 apporte Zeta (IA à modèle ouvert) et ACP (Protocole Client Agent).
Quand l'utiliser
- Édition de code haute performance avec moteur Rust : Latence de frappe inférieure à la milliseconde, ouverture instantanée des fichiers et rendu fluide à 120 FPS.
- Programmation en binôme en temps réel : Collaboration directe dans le tampon de l'éditeur avec discussion audio et sessions de curseur partagées.
- Assistants LLM intégrés : Génération de code, refactorisation de fonctions et interrogation du contexte de la base de code en natif.
- Développement polyglotte moderne avec Tree-sitter et LSP : Prise en charge transparente et native pour Rust, TypeScript, Python et Go.
Démarrage rapide
1. Fichier minimal ~/.config/zed/settings.json
{
"theme": "One Dark",
"buffer_font_family": "JetBrains Mono",
"buffer_font_size": 14,
"tab_size": 2,
"hard_tabs": false,
"format_on_save": "on",
"formatter": "auto",
"lsp": {
"rust-analyzer": {
"initialization_options": {
"checkOnSave": { "command": "clippy" }
}
}
}
}
2. Raccourcis essentiels
Cmd + P: Recherche de fichiersCmd + Maj + P: Palette de commandesCmd + Maj + F: Recherche dans le projetCmd + ?: Activer/désactiver le panneau de l'assistant IA
Concepts fondamentaux
Configuration de production de Zed (~/.config/zed/settings.json)
Configuration de la typographie, des formateurs, des serveurs de langage LSP et de l'intégration IA :
{
"theme": "One Dark",
"ui_font_size": 15,
"buffer_font_size": 14,
"buffer_font_family": "JetBrains Mono",
"autosave": "on_focus_change",
"format_on_save": "on",
"tab_size": 2,
"telemetry": {
"diagnostics": false,
"metrics": false
},
"languages": {
"TypeScript": {
"language_servers": ["vtsls", "!typescript-language-server"],
"formatter": {
"external": {
"command": "prettier",
"arguments": ["--stdin-filepath", "{buffer_path}"]
}
}
},
"Rust": {
"language_servers": ["rust-analyzer"]
},
"Python": {
"language_servers": ["pyright", "ruff"]
}
},
"assistant": {
"default_model": {
"provider": "anthropic",
"model": "claude-3-5-sonnet"
}
}
}
Raccourcis clavier modaux et Vim personnalisés (~/.config/zed/keymap.json)
Personnalisation des raccourcis pour une navigation rapide :
[
{
"context": "Editor && vim_mode == normal",
"bindings": {
"space f f": "file_finder::Toggle",
"space f g": "pane::DeploySearch",
"space b d": "pane::CloseActiveItem",
"space c a": "editor::ToggleCodeActions",
"g d": "editor::GoToDefinition",
"g r": "editor::FindAllReferences"
}
}
]
Collaboration instantanée en multijoueur
- Cliquez sur l'icône Collaborer dans l'en-tête de la fenêtre en haut à droite.
- Partagez le lien de votre salle ou invitez des membres de l'équipe via leur nom d'utilisateur GitHub.
- Les coéquipiers partagent les vues de l'éditeur, suivent les curseurs et modifient le code simultanément sans décalage de partage d'écran.
Motifs courants
Recherche et remplacement multi-buffer dans le projet
Problème : Rechercher dans toute la base de code et modifier les résultats simultanément dans un seul tampon unifié.
Solution : Ouvrir l'éditeur multi-buffer.
- Appuyez sur
Cmd + Maj + Fpour ouvrir la recherche dans le projet. - Saisissez le terme de recherche et appuyez sur
Entrée. - Appuyez sur
Option + Entréepour développer tous les résultats dans un tampon multi-buffer modifiable. - Effectuez des modifications de code dans plusieurs fichiers et enregistrez (
Cmd + S) pour écrire dans tous les fichiers.
Configuration de serveurs de langage personnalisés dans Zed
Problème : Configurer des arguments spécifiques de serveur de langage et des formateurs dans Zed.
Solution : Définir les paramètres du serveur dans settings.json.
{
"languages": {
"Python": {
"language_servers": ["pyright", "ruff"],
"format_on_save": "on",
"formatter": {
"external": {
"command": "ruff",
"arguments": ["format", "--stdin-filename", "{buffer_path}"]
}
}
}
}
}
Bonnes pratiques (2026)
- À faire : Configurer
format_on_save: "on"avec des outils externes (Prettier, Ruff, Rustfmt) pour une propreté automatisée du code. - À faire : Utiliser
vtslspour le développement TypeScript dans Zed pour des performances et une efficacité mémoire supérieures. - À faire : Activer le mode Vim (
"vim_mode": true) si vous êtes habitué aux flux de travail d'édition modale. - À faire : Tirer parti du panneau d'assistant natif (
Cmd + ?) avec le contexte de la base de code pour une refactorisation rapide. - À éviter : Surcharger les dossiers du projet avec des caches de construction non exclus (
target,dist,.next). - À éviter : Coder en dur des clés API privées dans
settings.json; utilisez le trousseau système ou les variables d'environnement. - À éviter : Laisser les salles de collaboration ouvertes et publiques lors de l'édition de fichiers de configuration de production sensibles.
Dépannage
| Erreur / Symptôme | Cause | Solution |
|---|---|---|
| Le serveur de langage ne parvient pas à s'initialiser | Le binaire du serveur (ex. gopls, pyright) est introuvable dans $PATH | Installez le binaire du serveur globalement ou assurez-vous qu'il est accessible dans l'environnement shell de l'utilisateur. |
| Conflit de raccourci avec les raccourcis système | Les raccourcis clavier système de Mac interceptent les frappes de Zed | Vérifiez les remplacements de la carte de touches dans ~/.config/zed/keymap.json. |
| L'assistant IA de Zed ne répond pas | Clé API manquante (OpenAI/Anthropic) ou quota dépassé | Ouvrez les paramètres de Zed et configurez "features": { "edit_prediction_provider": "copilot" } ou fournissez la clé API. |