- LSP code lens chính thức có mặt trong Zed v1.1.5 Stable sau gần 2 năm cộng đồng yêu cầu.
- Reference counts, implementation counts, và nút "Run test" hiện ra trực tiếp phía trên hàm - không cần mở panel nào thêm.
- Bật bằng một dòng: "code_lens": "on" trong settings.
TL;DR
LSP code lens đã land trong Zed v1.1.5 Stable (6/5/2026) - gần 2 năm sau khi issue #11565 được mở (8/5/2024, 97+ upvotes). Language server actions giờ xuất hiện dưới dạng nút bấm trực tiếp trong source code. Bật bằng một dòng trong settings:
"code_lens": "on"

Feature này làm được gì
Code lens lấy metadata từ language server qua giao thức LSP textDocument/codeLens và render thành các widget nhỏ phía trên từng code element. Tùy ngôn ngữ, bạn sẽ thấy khác nhau:
- TypeScript / JavaScript (vtsls): reference counts + implementation counts hiện phía trên functions, classes, và interfaces - click để jump ngay tới danh sách
- Go (gopls): nút "run test" và "run benchmark" tự động xuất hiện phía trên mọi
TestvàBenchmarkfunction trong*_test.go- click là chạy, không cần mở terminal - Rust và các ngôn ngữ khác: hiển thị bất cứ thứ gì language server của bạn implement theo spec
textDocument/codeLens
Ba chế độ hiển thị
Zed cho 3 option trong settings:
| Giá trị | Hành vi |
|---|---|
"off" | Mặc định - không query, không hiển thị |
"on" | Hiển thị inline phía trên code element |
"menu" | Giấu trong code action menu, không làm rối code view |
Nếu bạn thích interface gọn gàng nhưng vẫn cần access code lens, chế độ "menu" là lựa chọn hay - không có VS Code hay editor nào khác có option này.
Khác VS Code ở điểm nào
VS Code bật code lens mặc định và render bằng DOM elements (Electron). Zed thì ngược lại - opt-in, và render trực tiếp trên GPU qua framework GPUI viết bằng Rust. Cùng dữ liệu từ language server (cả hai đều dùng textDocument/codeLens), nhưng Zed thêm chế độ menu để tránh tình trạng lens chen chữ vào giữa code gây mất tập trung.
Một giới hạn cần biết: vtsls (TypeScript) có thể bị out-of-memory trên project cực lớn. Zed đã nâng memory limit mặc định lên 8 GiB (so với 3 GiB default của vtsls), nhưng với monorepo khổng lồ bạn có thể cần tùy chỉnh thêm.
Gần 2 năm từ yêu cầu đến ship
Issue #11565 được mở ngày 8/5/2024 với mô tả "must-have for an IDE" và thu hơn 97 upvotes từ cộng đồng. Development bắt đầu nghiêm túc từ đầu 2026 qua PR #48923, #53016, và cuối cùng là #54100 - PR đóng issue. Preview release v1.1.2 ship ngày 29/4/2026, stable v1.1.5 land ngày 6/5/2026.
Tiếp theo là gì
Zed đang phát triển DeltaDB - một sync engine dựa trên CRDTs (Conflict-free Replicated Data Types), track thay đổi codebase theo từng ký tự. Mục tiêu: cho phép human và AI agents cùng làm việc trên một codebase với real-time sync - bạn có thể invite teammate vào conversation với agent và cùng review code generated ngay trong context gốc.
Nguồn: zed.dev/releases, GitHub #11565, Zed 1.0 blog.

