- Claude Code IDE for Emacs integriert die Claude Code CLI nativ in Emacs und bietet eine leistungsstarke KI-Coding-Assistenten-Umgebung
- Durch eine auf dem Model Context Protocol (MCP) basierende bidirektionale Brücke kann Claude auf verschiedene Emacs-Funktionen wie LSP, Projektverwaltung und Elisp-Funktionen zugreifen
- Unterstützte Emacs-spezifische Optimierungen wie automatische Projekterkennung, Mehrfachsitzungen, Diagnoseintegration (Fehler/Warnungen), erweitertes Diff, tab-bar sowie Auswahl-/Pufferverfolgung werden bereitgestellt
- Auf Basis der Emacs-Befehle und Erweiterbarkeit ist eine direkte Freigabe von Befehlen über einen MCP-Server und eine anpassbare Workflow-Integration möglich
- Durch die tiefe Verknüpfung zwischen Claude und dem gesamten Emacs-Ökosystem wird eine cloudbasierte KI-gestützte Entwicklungsumgebung aufgebaut
Überblick
Claude Code IDE for Emacs ist ein Open-Source-Projekt, das über die Integration mit der Claude Code CLI die Fähigkeiten von Claude AI in der Emacs-Umgebung maximal nutzt. Anders als ein einfacher Terminal-Wrapper stellt dieses Paket eine MCP- (Model Context Protocol-)basierte Bridge mit bidirektionaler Kommunikation bereit, sodass Claude die internen Emacs-Funktionen tatsächlich nutzen kann. So wird durch die Anbindung an das starke Emacs-Ökosystem mit LSP, Projektverwaltung und Elisp-Funktionen eine produktive und intelligente KI-gestützte Entwicklungsumgebung für Emacs-Nutzer umgesetzt.
Hauptmerkmale
-
Automatische Projekterkennung und Sitzungsverwaltung
- Nutzt das in Emacs integrierte
project.el, erkennt Projekte automatisch und trennt Sitzungen - Stellt eine separate Claude Code-Instanz und eigene Puffer pro Projekt bereit
- Nutzt das in Emacs integrierte
-
Terminalintegration und Farbausgabe
- Farbterminal-Unterstützung über
vtermodereat - Gespräch mit Claude direkt in Emacs möglich
- Farbterminal-Unterstützung über
-
IDE-Integration über das MCP-Protokoll
- Verschiedene Emacs-Befehle (Code-Navigation, Symbolsuche, AST-Analyse usw.) werden über den MCP-Server freigegeben
- Claude kann Emacs-Befehle und benutzerdefinierte Funktionen ausführen
-
Hochgradig erweiterbarer MCP-Tools-Server
- Möglichkeit, personalisierte MCP-Tools hinzuzufügen/zu definieren (z. B. Projektsuche über das gesamte Projekt, globales Refactoring)
-
Code-Diagnose und Diff
- Bereitstellung von Code-Fehler-/Warnungsdiagnosen durch Flycheck- und Flymake-Integration
- Erweiterte Diff-Ansicht und Zugriff auf Diagnosedaten über
ediff
-
Status- und Befehlsumschaltung
tab-bar, Auswahl- und Puffer-Tracking ermöglichen es Claude, den aktuellen Kontext des Benutzers zu verstehen
Emacs-Tool-Integration
Claude Code IDE macht über das MCP-Tool-System verschiedene Emacs-Befehle und Informationen direkt für Claude verfügbar
-
LSP-Integration (xref)
- Intelligente Navigation auf LSP-Basis wie Go-to-definition und symbol- sowie referenzweite Projekt-Suche
-
Tree-sitter-Unterstützung
- Bietet Syntaxbaum-Analyse und AST-(Abstract Syntax Tree)-basierte Code-Strukturerkennung
-
Imenu- und Projektintegration
- Automatische Bereitstellung von Symbollisten sowie Projektdatei- und Strukturinformationen
-
Benutzerdefinierte Elisp-Funktionen
- Direkte Freigabe als MCP-Tool, um individuelle Workflows und domänenspezifische Funktionen zu nutzen
Durch diese Integration kann Claude den Kontext des Emacs-Ökosystems nutzen und so präzise KI-Unterstützung auf Code-Ebene liefern
Verwendung
Grundbefehle
M-x claude-code-ide-menu: Ruft ein visuelles Transient-Menü mit allen Befehlen auf- Aktivierung von Claude Code im Projekt, Senden von Prompts, Fortsetzen früherer Gespräche sowie verschiedene Status-/Sitzungsverwaltung
- Mehrere Projekte können gleichzeitig verwaltet werden, wobei jedes Projekt über eine eigene Claude-Sitzung verfügt
Fenster- und Sitzungsverwaltung
- Wenn bereits eine neue Sitzung läuft, wird nur die Fensterumschaltung/Anzeigefunktion ausgeführt
- Auch wenn das Emacs-Standardkommando (
C-x 0) das Fenster schließt, wird Claude selbst nicht beendet
Konfiguration
- Feingranulare Anpassung von Claude Code CLI, Terminal-Backend, Diagnose-Backend, Fensterposition/-größe und Debug-Optionen
- Erweiterte Optionen wie das Hinzufügen von Flags, das Festlegen eines System-Prompts oder Funktionen für die Puffernamensvergabe
- Aktivierung von MCP-Servern sowie Angabe von zu verwendenden Tools/Ports möglich
Terminal-Backend-Konfiguration
- Standard ist
vterm, bei Bedarf kann aufeatumgestellt werden eatist ein reines Elisp-basiertes Terminal und besonders nützlich, wennvtermBuild-Probleme verursacht- Eigene Keybindings werden bereitgestellt (
M-RET: Zeilenumbruch in der Eingabe,C-<escape>: Beenden/Abbrechen usw.)
Diagnose-/Debugging-Optionen
- Flycheck und Flymake können automatisch erkannt/verknüpft oder explizit gesetzt werden
- Integrierte temporäre Option zur Umgehung des Claude-Terminal-Reflow-Bugs (#1422)
- Detaillierte Debug-Logs auf Emacs- und CLI-Ebene (u. a. für WebSocket-, JSON-RPC-Nachrichten)
Advanced: mehrere Worktree, Sitzungsbetrieb
- Mit
git worktreekönnen in demselben Projekt mehrere unabhängige Sitzungen je Branch betrieben werden - Jede Arbeitsgruppe behält einen eigenen Puffer und Kontext, was parallele Entwicklungs-Workflows unterstützt
Emacs MCP-Tools im Detail
Beispiele für integrierte MCP-Tools
- xref-find-references: Vollständige Projektsuche aller Verweise auf ein bestimmtes Symbol
- xref-find-apropos: Musterbasierte Suche über Symbole/Code im gesamten Projekt
- treesit-info: Bereitstellung von AST-Analyse-Daten auf Basis von tree-sitter
- imenu-list-symbols: Ausgabe aller Funktionen und Variablen in einer Datei
- project-info: Bereitstellung von Metadaten und Dateiübersicht des aktuellen Projekts
Benutzerdefinierte Tools hinzufügen
- Benutzer können eigene Emacs-Funktionen im MCP-Tool-Format hinzufügen
- Als Beispiel lassen sich ein auf
ripgrepbasierendes Code-Suchtool oder domänenspezifische Befehle definieren, die direkt von Claude aufgerufen werden können
Lizenz und verwandte Projekte
- Verfügbar unter GNU GPL v3.0 oder höher
- Als verwandte Projekte werden Integrationen für VS Code, Neovim (claudecode.nvim) und weitere Plugins vorgestellt
Bedeutung und Vorteile
Claude Code IDE for Emacs bietet eine leistungsstarke KI-IDE-Umgebung, die im Gegensatz zu bestehenden LLM/AI-Integrationswerkzeugen den einzigartigen Arbeitskontext und die Ökosysteminformationen von Emacs aktiv nutzen kann
Auch wenn es sich noch in einem frühen Stadium befindet, vereint es zahlreiche integrierte Funktionen, hohe Anpassbarkeit und Unterstützung für mehrere Projekte, wodurch es für Emacs-Nutzer und Open-Source-Entwickler eine sehr starke Option darstellt
1 Kommentare
Hacker News Kommentar
mcp.el-Paket fehlt. In meiner praktischen Arbeit hat Claude Code mir noch nicht die gewünschte Code-Qualität geliefert. Auch mcp.el lohnt sich, einen Blick darauf zu werfen.typescript-lsgerade noch starten, abergoplslässt sich noch nicht herunterladen. Ich könnte es vielleicht in ein oder zwei Stunden beheben, aber herauszufinden, wo es klemmt, ist mühsam. Ich möchte das teilen, weil ich wissen möchte, wie andere Emacs-Nutzer:innen das heute lösen.edebug,apropos, Makroexpansion, Advising-System oder indirekte Buffer. Wenn man Emacs mit dem Auto vergleicht, kann man es während der Fahrt umbauen – sogar bis zu einem Tauchboot – und genau deshalb braucht man auch die Haltung, grundlegende Fehlerbehebung und unvorhergesehene Situationen selbstverständlich zu akzeptieren. Problemstellen lassen sich oft direkt imgptel-Buffer finden, und man kann passend zu Hook- oderadvise-Funktionen sofort eigenes Elisp schreiben und testen; dieses Gefühl der Befreiung muss man einfach erlebt haben. Ich achte heute nicht mehr so sehr auf eine „saubere“ Konfiguration – eine gute Modularisierung reicht, und bei Bedarf ergänze ich einfach Elisp. Die meisten Brüche entstehen durch Paket-Updates oder externe Ursachen; ich finde die Ursache meist in Minuten und habe meist innerhalb kurzer Zeit einen Ersatz.devenv.sh) unddirenv, damit Emacs selbst nichts herunterlädt, sondern nur Pfade gesetzt werden. Die zugehörigen Konfigurationsdateien speichere ich ebenfalls indevenv, sodass Teammitglieder dieselbe Umgebung nutzen können.lazy.viminstalliert und nutze KI-Plugins im Wechsel. Die nvim-Community und das Ökosystem sind aktuell sogar aktiver; einen Blick wert ist auch ThePrimeagen.notebookllm, einen Ansatz, bei dem Forschung und Dokumentation lokal verwaltet werden können.gptel-modeauszuprobieren: Gespräche werden im org-Buffer gespeichert, und Sitzungen lassen sich einfach speichern und wiederherstellen. Es lässt sich auch gut mitmcp.elkombinieren.efritvon Steve Yegge testen, weil die Fähigkeit eines Agenten, beliebige Elisp-Ausdrücke zu verwenden und auszuführen, die Grenzen von Emacs weiter nach oben schiebt.efritfür sehr vielversprechend (obwohl ich es nicht perfekt eingerichtet habe)./ide-Integration vonclaude-code-idezu haben.gptelunterstützt viele Modelle, inklusive lokaler Modelle.