Tích hợp Claude Code IDE cho Emacs
(github.com/manzaltu)- Claude Code IDE for Emacs tích hợp Claude Code CLI một cách bản địa trong Emacs để cung cấp môi trường trợ lý lập trình AI mạnh mẽ
- Thông qua cầu nối hai chiều dựa trên Model Context Protocol(MCP), Claude có thể tận dụng các tính năng của Emacs như LSP, quản lý dự án, hàm Elisp, và nhiều chức năng khác
- Cung cấp các tính năng tối ưu hóa môi trường Emacs như phát hiện dự án tự động, phiên đa, tích hợp chẩn đoán (lỗi/cảnh báo), diff nâng cao, tab-bar và theo dõi lựa chọn/bộ đệm
- Dựa trên lệnh và khả năng mở rộng của Emacs, có thể đưa trực tiếp lệnh ra ngoài qua MCP server và tích hợp quy trình làm việc tùy chỉnh
- Xây dựng kết nối sâu giữa Claude và toàn bộ hệ sinh thái Emacs để tạo môi trường phát triển hỗ trợ AI trên nền tảng đám mây
Tổng quan
Claude Code IDE for Emacs là một dự án mã nguồn mở nhằm tối ưu hóa khả năng của Claude AI trong môi trường Emacs thông qua liên kết với Claude Code CLI. Khác với trình bao terminal đơn giản trước đây, gói này cung cấp cầu nối hai chiều dựa trên MCP (Model Context Protocol), được thiết kế để Claude có thể thực sự tận dụng các chức năng nội bộ của Emacs. Kết nối với hệ sinh thái mạnh mẽ của Emacs như LSP, quản lý dự án, hàm Elisp để tạo môi trường hỗ trợ phát triển AI thông minh và hiệu suất cao dành riêng cho người dùng Emacs.
Tính năng chính
-
Phát hiện dự án tự động và quản lý phiên
- Tận dụng project.el có sẵn trong Emacs, tự động nhận diện dự án và tách biệt phiên
- Cung cấp phiên Claude Code và buffer riêng cho từng dự án
-
Tích hợp terminal và hỗ trợ màu
- Hỗ trợ terminal màu qua vterm hoặc eat
- Có thể trò chuyện với Claude ngay trong Emacs
-
Tích hợp IDE qua giao thức MCP
- Tiếp xúc các lệnh Emacs đa dạng (duyệt mã, tra cứu ký hiệu, phân tích AST,...) qua MCP server
- Claude có thể thực thi lệnh Emacs và hàm định nghĩa của người dùng
-
Máy chủ MCP Tools mở rộng cao
- Có thể thêm/định nghĩa MCP tool theo cá nhân hóa (ví dụ: tìm kiếm toàn dự án, refactoring toàn cục, v.v.)
-
Chẩn đoán mã và diff
- Cung cấp thông tin chẩn đoán lỗi/cảnh báo thông qua liên kết Flycheck, Flymake
- Hỗ trợ truy cập thông tin chẩn đoán và chế độ xem diff nâng cao bằng ediff
-
Quản lý chuyển đổi trạng thái/lệnh
- Với tab-bar, theo dõi lựa chọn/buffer giúp Claude hiểu ngữ cảnh hiện tại của người dùng
Tích hợp Công cụ Emacs
Claude Code IDE trực tiếp phơi bày các lệnh và thông tin đa dạng của Emacs cho Claude thông qua hệ thống MCP tool
-
Tích hợp LSP(xref)
- Hỗ trợ điều hướng thông minh dựa trên LSP như go-to-definition, duyệt ký hiệu/tham chiếu toàn dự án
-
Hỗ trợ Tree-sitter
- Cung cấp phân tích cú pháp cây và hiểu cấu trúc mã dựa trên AST (Abstract Syntax Tree)
-
Tích hợp Imenu, Project
- Tự động cung cấp danh sách ký hiệu, thông tin file và cấu trúc dự án
-
Hàm Elisp tùy chỉnh
- Đưa trực tiếp lên MCP tool để tận dụng quy trình làm việc/đặc thù miền riêng
Với sự tích hợp này, Claude có thể tận dụng bối cảnh hệ sinh thái Emacs để cung cấp hỗ trợ AI chính xác đến cấp độ mã nguồn
Cách sử dụng
Lệnh cơ bản
M-x claude-code-ide-menu: gọi menu transient hiển thị trực quan mọi lệnh- Kích hoạt Claude Code trong dự án, gửi prompt, tiếp tục cuộc trò chuyện trước, và quản lý nhiều trạng thái/phiên
- Có thể quản lý cùng lúc nhiều dự án, vận hành phiên Claude riêng cho từng dự án
Quản lý cửa sổ và phiên
- Nếu một phiên mới đã đang chạy, chỉ thực hiện bật/tắt hoặc hiển thị cửa sổ
- Dù đóng cửa sổ bằng lệnh Emacs chuẩn (C-x 0), Claude vẫn không bị tắt
Cài đặt
- Hỗ trợ tùy chỉnh chi tiết về Claude Code CLI, backend terminal, backend chẩn đoán, vị trí/kích thước cửa sổ, tùy chọn gỡ lỗi
- Cung cấp các tùy chọn nâng cao như thêm flag, chỉ định system prompt, hàm đặt tên buffer
- Có thể kích hoạt MCP server và chỉ định tool/cổng sử dụng
Cấu hình Terminal Backend
- Mặc định là vterm, có thể chuyển sang eat khi cần
- eat là terminal thuần Elisp, hữu ích khi vterm gặp lỗi biên dịch
- Có keybinding riêng (M-RET: xuống dòng trong prompt, C-<escape>: thoát/hủy, v.v.)
Tùy chọn chẩn đoán/gỡ lỗi
- Có thể tự động phát hiện/kết nối hoặc chỉ định bắt buộc Flycheck, Flymake
- Có tùy chọn tạm thời tích hợp nhằm tránh lỗi tái diễn của Claude terminal reflow (#1422)
- Hỗ trợ nhật ký gỡ lỗi chi tiết ở cấp Emacs và CLI (xem WebSocket, thông điệp JSON-RPC, v.v.)
Advanced: nhiều Worktree, vận hành phiên
- Sử dụng git worktree, cho phép chạy nhiều phiên độc lập theo nhánh trong cùng một dự án
- Duy trì buffer và ngữ cảnh riêng cho từng nhóm tác vụ, hỗ trợ quy trình phát triển song song
Chi tiết Emacs MCP Tools
Ví dụ MCP Tools tích hợp
- xref-find-references: duyệt toàn bộ tham chiếu của một ký hiệu cụ thể trong dự án
- xref-find-apropos: tìm kiếm mã/biểu tượng toàn diện theo mẫu
- treesit-info: cung cấp dữ liệu phân tích AST dựa trên tree-sitter
- imenu-list-symbols: xuất toàn bộ danh sách hàm, biến trong file
- project-info: cung cấp metadata dự án và thông tin file hiện tại
Thêm công cụ tùy chỉnh
- Người dùng có thể thêm Emacs function của riêng mình theo định dạng MCP tool
- Ví dụ, bạn có thể định nghĩa công cụ tìm kiếm mã với ripgrep hoặc lệnh chuyên ngành riêng rồi gọi trực tiếp từ Claude
Giấy phép và dự án liên quan
- Cung cấp theo GNU GPL v3.0 hoặc cao hơn
- Giới thiệu các dự án liên quan như plugin tích hợp VS Code, Neovim (claudecode.nvim), v.v.
Tầm quan trọng và điểm nổi bật
Claude Code IDE for Emacs phân biệt bản thân khỏi các công cụ tích hợp LLM/AI khác bằng khả năng khai thác sâu ngữ cảnh làm việc nội tại và thông tin hệ sinh thái Emacs trong môi trường Dù ở giai đoạn tương đối đầu, nó vẫn có nhiều tính năng nội tại, khả năng tùy biến cao và hỗ trợ đa dự án, trở thành lựa chọn mạnh mẽ cho người dùng Emacs và nhà phát triển mã nguồn mở
1 bình luận
Ý kiến từ Hacker News
notebookllmđã trở nên rất rõ.