tags :
概要
Claude Code IDE for EmacsはModel Context Protocol(MCP)を通じてClaude Code CLIとのシームレスな統合を提供します。このパッケージはEmacsワークフロー内で直接AI支援型コードアシスタンスを可能にします。
機能
- 自動プロジェクト検出とセッション管理
vtermを使用したフルカラーサポート付きターミナル統合- IDE統合のためのMCPプロトコル実装
- ファイル操作、エディタ状態、ワークスペース情報のツールサポート
- Flycheckとの診断統合
- ediff統合による高度なdiffビュー
- 適切なコンテキスト切り替えのためのtab-barサポート
- より良いコンテキスト認識のための選択とバッファトラッキング
スクリーンショット
アクティブファイル認識
Claude CodeはEmacsで現在表示しているファイルを自動的に認識します
コード選択コンテキスト
Claude Codeはバッファ内の選択されたテキストにアクセスして作業できます
診断機能付き高度なDiffビュー
コード変更の統合ediffビュー、Claude Codeは開いているファイルから診断データ(エラー、警告など)に直接アクセス可能
自動テキストメンション
Claudeの会話で選択されたテキストを自動的にメンションして参照
セッション復元
--resumeフラグで以前のClaude Code会話を再開
インストール
前提条件
- Emacs 28.1以上
- Claude Code CLIがインストールされ、PATHで利用可能
vtermパッケージ(ターミナルサポート用)
Claude Code CLIのインストール
Claude Code Documentationのインストール手順に従ってください。
Emacsパッケージのインストール
現在、このパッケージは開発初期段階です。=use-package= と straight.el を使用してインストールするには:
(use-package claude-code-ide
:straight (:type git :host github :repo "manzaltu/claude-code-ide.el"))使用方法
基本コマンド
| コマンド | 説明 |
|---|---|
M-x claude-code-ide | 現在のプロジェクトでClaude Codeを開始 |
M-x claude-code-ide-resume | 以前の会話でClaude Codeを再開 |
M-x claude-code-ide-stop | 現在のプロジェクトのClaude Codeを停止 |
M-x claude-code-ide-switch-to-buffer | プロジェクトのClaudeバッファに切り替え |
M-x claude-code-ide-list-sessions | すべてのアクティブなClaude Codeセッションを一覧表示して切り替え |
M-x claude-code-ide-check-status | Claude Code CLIがインストールされ動作しているかチェック |
M-x claude-code-ide-insert-at-mentioned | 選択されたテキストをClaudeプロンプトに送信 |
M-x claude-code-ide-send-escape | Claudeターミナルにエスケープキーを送信 |
M-x claude-code-ide-insert-newline | Claudeプロンプトに改行を挿入(\ + Enterを送信) |
M-x claude-code-ide-show-debug | WebSocketメッセージのデバッグバッファを表示 |
M-x claude-code-ide-clear-debug | デバッグバッファをクリア |
マルチプロジェクトサポート
Claude Code IDEはEmacsの組み込み project.el を使用してプロジェクトを自動検出します。各プロジェクトは *claude-code[project-name]* のような一意のバッファ名を持つ独自のClaude Codeインスタンスを取得します。
異なるプロジェクトに対して複数のClaude Codeインスタンスを同時に実行できます。=claude-code-ide-list-sessions= を使用してすべてのアクティブセッションを表示し、それらを切り替えます。
ウィンドウ管理
- セッションがすでにアクティブな時に
claude-code-ideを実行すると、ウィンドウの表示が切り替わります - ウィンドウはClaudeを停止することなく、標準的なEmacsウィンドウコマンド(=C-x 0=)で閉じることができます
設定
設定変数
| 変数 | 説明 | デフォルト |
|---|---|---|
claude-code-ide-cli-path | Claude Code CLIへのパス | "claude" |
claude-code-ide-buffer-name-function | バッファ命名のための関数 | claude-code-ide--default-buffer-name |
claude-code-ide-cli-debug | CLIデバッグモード(-dフラグ)を有効化 | nil |
claude-code-ide-debug | デバッグログを有効化 | nil |
claude-code-ide-log-with-context | ログメッセージにセッションコンテキストを含める | t |
claude-code-ide-debug-buffer | デバッグ出力のバッファ名 | "*claude-code-ide-debug*" |
claude-code-ide-window-side | Claudeウィンドウの配置場所 | 'right |
claude-code-ide-window-width | サイドウィンドウの幅(左/右) | 90 |
claude-code-ide-window-height | サイドウィンドウの高さ(上/下) | 20 |
claude-code-ide-focus-on-open | 開く時にClaudeウィンドウにフォーカス | t |
claude-code-ide-focus-claude-after-ediff | ediff開後にClaudeウィンドウにフォーカス | t |
サイドウィンドウ設定
Claude Codeバッファはデフォルトでサイドウィンドウで開きます。配置をカスタマイズできます:
;; Claudeを左側で開く
(setq claude-code-ide-window-side 'left)
;; Claudeをカスタム高さで下部に開く
(setq claude-code-ide-window-side 'bottom
claude-code-ide-window-height 30)
;; Claudeをカスタム幅で右側に開く
(setq claude-code-ide-window-side 'right
claude-code-ide-window-width 100)
;; Claudeウィンドウに自動的にフォーカスしない
(setq claude-code-ide-focus-on-open nil)
;; diffを開く時はediffコントロールウィンドウにフォーカスを保持
(setq claude-code-ide-focus-claude-after-ediff nil)カスタムバッファ命名
Claude Codeバッファの命名方法をカスタマイズできます:
(setq claude-code-ide-buffer-name-function
(lambda (directory)
(if directory
(format "*Claude:%s*" (file-name-nondirectory (directory-file-name directory)))
"*Claude:Global*")))デバッグ
-
Claude CLIデバッグモード
Claude Code CLIのデバッグモードを有効化するには(=-d= フラグを渡す):
(setq claude-code-ide-cli-debug t)
-
Emacsデバッグログ
Emacs内でのデバッグログを有効化するには(WebSocketメッセージとJSON-RPC通信をログ):
(setq claude-code-ide-debug t)その後、以下でデバッグログを表示:
M-x claude-code-ide-show-debug- デバッグバッファを表示M-x claude-code-ide-clear-debug- デバッグバッファをクリア
デバッグバッファは以下を表示します:
- WebSocket接続イベント
- すべてのJSON-RPCメッセージ(リクエスト/レスポンス)
- エラーメッセージと診断
- セッションコンテキスト付きの一般デバッグ情報
ライセンス
このプロジェクトはGNU General Public License v3.0以降の下でライセンスされています。詳細についてはLICENSEファイルを参照してください。