- Claude Code, công cụ lập trình dùng AI chạy trong terminal, đã bổ sung công cụ LSP (Language Server Protocol) trong phiên bản mới nhất
- Nhờ đó, công cụ cung cấp các tính năng thông minh mã nguồn ở cấp độ IDE như đi tới định nghĩa (go-to-definition), tìm tham chiếu (find references) và hiển thị tài liệu khi hover
- Lệnh
/terminal-setup chính thức hỗ trợ các terminal Kitty, Alacritty, Zed, Warp
- Trong màn hình
/theme, có thể bật/tắt tô sáng cú pháp bằng Ctrl+T
- Đã bổ sung hướng dẫn thiết lập terminal cho trường hợp phím tắt Alt không hoạt động trên macOS, đồng thời thống nhất ký hiệu phím tắt trên macOS từ
alt thành opt để khớp với ký hiệu thực tế trên keycap
- Đầu ra của lệnh
/context đã được cải thiện, với skill và agent được nhóm theo nguồn, sắp xếp theo lệnh gạch chéo, và sắp xếp theo mức sử dụng token
2 bình luận
Tôi đã dùng serena, nhưng đúng là hàng tích hợp sẵn vẫn hơn.
Ý kiến trên Hacker News
Không hiểu vì sao JetBrains lại không tích hợp công cụ refactoring vào hệ thống AI
Ngay cả các tác vụ đơn giản như đổi tên hàm cũng lẽ ra có thể xử lý với ngữ cảnh nhỏ hơn rất nhiều thay vì chỉnh sửa hàng trăm tệp
Hỗ trợ LSP là một khởi đầu tốt, nhưng vẫn chưa đủ nếu không có khả năng biến đổi mã
Chất lượng LSP của JetBrains cũng không tốt hơn mức thông thường
Từ sau khi bỏ modal commit và tăng giá gói dịch vụ, tôi đã nghĩ đến chuyện chuyển khỏi công cụ mình dùng hơn 10 năm
Có thể thấy một ví dụ sai lầm gần đây trong bài blog này
JetBrains có engine PSI hiểu ngữ nghĩa mã tốt nhất, nhưng vẫn bị trói trong mô hình con người trực tiếp thao tác IDE
Claude Code hay Cursor xem editor là một canvas để AI tự do thao tác, còn JetBrains lại đối xử với AI như một plugin sidebar đơn thuần
Nếu không mở các công cụ refactoring nội bộ cho agent, rào cản chuyển sang VS Code sẽ biến mất
Nếu không, VS Code sẽ nuốt trọn thị trường
Trước đây họ có rào cản gia nhập rất lớn, nhưng VS Code đã phá vỡ điều đó
Có vẻ họ hoàn toàn không lường trước được làn sóng thay đổi và giờ đang mất phương hướng
Họ chưa kết hợp tốt Roslyn với Copilot
Analyzer của Roslyn không chỉ là linter đơn giản mà là công cụ mạnh có thể biến đổi mã, nên nhìn AI vẫn xử lý bằng find/replace đơn thuần thật đáng bực
Nếu xuất hiện agent dựa trên Roslyn, hiệu suất làm việc với codebase lớn sẽ tăng bùng nổ
Tôi rất tích cực với tổ hợp Claude Code / Codex CLI + LSP
Cuối tuần rồi tôi thử Codex, nhưng việc nó bỏ sót tham chiếu khi đổi tên hàm hay di chuyển symbol khá khó chịu, nên tôi đã tự làm một skill nối với Rope, công cụ refactoring cho Python
Khá hài lòng
Việc không có hỗ trợ LSP thật sự rất lạ
Điều đó cho thấy lĩnh vực này vẫn còn rất nhiều việc phải làm
Vì tài liệu chính thức còn thiếu nên tôi chia sẻ những gì tự tìm ra
Mở trình quản lý plugin của Claude Code bằng lệnh
/plugin, ở tab Discover tìmlsp, nhấn spacebar để kích hoạt rồi nhấniđể cài đặtTìm changelog gần đây thì thấy đây là tính năng mới được thêm vào cách đây 3 ngày
Hiện vẫn đang ở mức thử nghiệm nên bị tắt mặc định
mcpcũng không ra gìCó vẻ tính năng này vẫn đang chưa hoàn thiện
Hy vọng sau này Claude sẽ tự động nhận diện LSP
Tài liệu liên quan ở đây
UX của Claude Code của Anthropic là tệ nhất trong các sản phẩm AI lớn
Ngay cả việc đơn giản như copy-paste văn bản cũng bất tiện, và họ còn phớt lờ phản hồi người dùng
Nếu ở trạng thái này thì tôi không hiểu vì sao phải dùng nó thay vì ChatGPT
Tôi đã dùng OpenCode mã nguồn mở được 6 tháng, và nó đã có những tính năng kiểu này từ trước
Tiến độ chậm chạp của phần mềm đóng thật đáng ngạc nhiên
Có thể dùng cùng thuê bao Claude hoặc Copilot nên tôi khuyên thử
OpenCode gặp vấn đề hiệu năng như dùng CPU 100% khi chờ phê duyệt, lỗi do popover gây ra, v.v.
Dù vậy Claude Code cũng có bug như nhấp nháy khi cuộn
Claude Code cho kết quả tốt gần như ngay lập tức, còn OpenCode thì khó kết nối model và hiệu quả thấp hơn
Có lẽ nhờ prompt tuning của Claude Code đã được trau chuốt lâu hơn
Không tốn thời gian thuyết phục nhiều bên liên quan hay điều phối sprint
Chỉ là vẫn hay có bug lặt vặt và crash
Nếu sáng ai đó công bố AGI thì đến tối họ có khi đã tích hợp xong
Tôi cũng đang thử qua lại nhiều công cụ, nhưng OpenCode vẫn tiến bộ đều đặn
Cảm giác việc mọi người phát cuồng vì công cụ dạng CLI khá kỳ lạ
Agent tích hợp trong IDE đã có sẵn những tính năng này, nên tôi nghi ngờ việc cố triển khai diff hay LSP trong terminal có thực sự hiệu quả không
Cursor đã hỗ trợ những thứ này từ lâu rồi
CLI chỉ cần làm một client nhỏ kết nối vào server LSP là đủ
Không có lý do gì để chỉ IDE mới được hưởng lợi từ LSP
Terminal không chỉ là nơi chỉnh mã mà là không gian để điều phối toàn bộ máy tính
Nó cũng giống lý do
kubectlkhông tiến hóa thành GUIBài liên quan: It's on your computer
Ví dụ Zed thì nếu không có MCP server sẽ không tận dụng được thông tin LSP
Tôi thấy CLI tốt hơn UI còn dang dở của các ứng dụng desktop
Như tôi đã nói trong bài viết gần đây, việc chạy LLM kém hiệu quả đang gây lãng phí token và lãng phí năng lượng nghiêm trọng
Điều cốt lõi là làm cho LLM dễ sử dụng công cụ hơn
Đây là nguyên tắc áp dụng được không chỉ cho lập trình mà cho mọi lĩnh vực
Cần tính đến tác hại môi trường do lãng phí năng lượng, nước và tài nguyên
Ví dụ có các dự án như Serena
Agent tôi thích là Crush đã có hỗ trợ LSP từ trước
Chỉ là trên thực tế agent không thường xuyên dùng tới tính năng đó
Liên kết GitHub của Crush
AGENT.mdcó tạo ra khác biệt gì khôngTôi vẫn chưa thấy trường hợp nào LSP thực sự được dùng
Opus 4.5 có timing QA ổn định, và kiểm tra lint cũng hoạt động tốt ngoài IDE
Khi phần định nghĩa bị chôn sâu, LSP có thể hữu ích
Danh sách tính năng LSP mà Claude cung cấp gồm
LSP nên cung cấp API dưới dạng lệnh shell
Khi đó việc tích hợp với LLM sẽ dễ hơn và cũng hữu ích cho con người
Nhưng để LLM dùng LSP qua công cụ chuyên dụng vẫn hiệu quả hơn các lệnh shell đơn giản