Cài plugin xong, tìm thấy nút, bấm thử - và ấn tượng đầu tiên thường là thế này: đây là cách để chạy claude mà không phải chuyển sang một cửa sổ terminal riêng. Tiện thật. Nhưng cài hẳn một plugin chỉ vì một cái nút thì hơi lạ.
Ấn tượng đó dễ gây hiểu lầm. Terminal bên trong IDE đã có từ trước khi có plugin, và chẳng ai cấm bạn tự gõ claude vào đó. Plugin làm một việc khác: nó kết nối agent với editor để hai bên nhìn thấy nhau. Bạn đang mở gì và chọn đoạn nào, linter đang báo lỗi gì, bản sửa được đề xuất trông ra sao theo từng dòng - bạn không còn phải tự kể lại những điều đó nữa. Chạy bằng một nút bấm là phần nhàm chán nhất trong cả gói.
Claude Code là công cụ chạy trong terminal, và không có IDE nó vẫn hoạt động rất tốt: mở terminal, gõ claude, rồi cứ viết bằng lời bình thường.
Khác biệt không nằm ở chỗ agent có chạy được hay không. Khác biệt nằm ở chỗ bạn kiểm tra công việc của nó bằng cách nào. File trên ổ đĩa thì nó sửa thật. Khi editor đang đóng, trong tay bạn chỉ có bản báo cáo: "đã thêm xử lý lỗi vào ba phương thức". Nghe có vẻ đúng. Nhưng chẳng có gì để đối chiếu.
Plugin lấp đúng khoảng trống đó. Dưới đây là những gì nó mang lại và những chỗ người ta hay vấp nhất.
1. Kết nối với editor mang lại gì
Plugin chính thức làm được năm việc. Ta đi lần lượt, bắt đầu từ lý do chính khiến plugin ra đời.
- Diff trong cửa sổ IDE. Diff là danh sách thay đổi: dòng nào bị xóa, dòng nào được thêm, giữa phiên bản cũ và phiên bản mới đã khác đi những gì. Các bản sửa của agent mở ra trong trình xem diff quen thuộc của editor chứ không hiện thành văn bản trong terminal. Bên trái là trước, bên phải là sau.
- Ngữ cảnh từ đoạn đang chọn. Tab đang mở và đoạn code đang được chọn tự động được gửi tới agent. Không cần sao chép code vào khung chat rồi giải thích bằng lời là đang nói về đoạn nào.
- Gửi code cho agent. Chọn một đoạn, nhấn phím tắt - vào prompt sẽ có một tham chiếu tới chính những dòng đó, dạng
@src/auth.ts#L1-99. - Chẩn đoán từ IDE. Lỗi linter và lỗi cú pháp, những lỗi mà editor gạch chân màu đỏ, được tự động chuyển tới Claude. Tính năng này thường được biết đến sau cùng, trong khi nó thuộc hàng hữu ích nhất: agent thấy vấn đề cùng lúc với bạn.
- Khởi chạy nhanh. Logo Claude trên thanh công cụ của IDE hoặc một phím tắt - agent mở ra mà bạn không phải rời khỏi editor.
2. Cài đặt: hai phần chứ không phải một
Đây là chỗ người ta vấp nhiều nhất. Plugin không mang sẵn Claude Code bên trong. Nó chạy lệnh claude trong terminal tích hợp của IDE rồi kết nối vào đó. Vì vậy bạn cần cài cả hai phần:
- bản thân Claude Code - nếu chưa có, plugin sẽ báo thẳng
Cannot launch Claude Code; - plugin Claude Code [Beta] của Anthropic PBC - cài từ
Marketplace, cài xong thì nên khởi động lại IDE hoàn toàn, đôi khi phải làm hơn một lần.

Nếu claude đã được cài nhưng không nằm ở chỗ IDE tìm nó, hãy khai báo đường dẫn đầy đủ trong Settings → Tools → Claude Code [Beta] → Claude command.
3. Những phím tắt cần ngay từ đầu
| Thao tác | Windows / Linux | macOS |
|---|---|---|
| Mở Claude Code | Ctrl+Esc | Cmd+Esc |
| Gửi đoạn code đang chọn cho agent | Ctrl+Alt+K | Cmd+Option+K |
| Mở Claude Code khi phím tắt không có tác dụng | bấm vào logo Claude trên thanh công cụ của IDE | |
Dòng cuối trong bảng không phải để cho đẹp. Phím tắt không phải lúc nào cũng hoạt động: tổ hợp phím lúc thì bị hệ điều hành chặn, lúc thì bị một plugin khác chiếm. Đó không phải là hỏng hóc và cũng không phải lý do để đi sửa IDE - cứ mở bằng chuột, chậm hơn một chút nhưng ở đâu cũng dùng được.

Không phải tìm lâu đâu: biểu tượng của plugin chính là logo Claude, giống hệt logo ở mọi chỗ khác trong giao diện. Không thể nhầm với thứ gì khác.
Send to Claude Code
Phím tắt thứ hai là cái được dùng nhiều nhất. Bạn chọn một đoạn code, nhấn Ctrl+Alt+K - và một tham chiếu tới chính những dòng đó nhảy vào prompt của agent. Thao tác tương tự cũng có trong menu hành động của vùng chọn, mục Send to Claude Code.

Trong prompt sẽ xuất hiện một dòng như thế này - đường dẫn tới file và khoảng dòng:
@presentations/assets/slides.css#L29-30Sau đó bạn viết tiếp nhiệm vụ bằng lời bình thường:
@presentations/assets/slides.css#L29-30 bỏ margin-left đi, vì nó mà layout bị lệch trên màn hình hẹpCả hai bên đều có lợi: agent không tốn bước để đi tìm file, còn bạn không tốn ngữ cảnh cho việc tìm kiếm đó.
Nếu không có plugin
Tham chiếu tới một dòng cũng có thể lấy bằng chính công cụ của IDE: nhấp chuột phải vào dòng - Copy / Paste Special - Copy Reference. Trong clipboard sẽ có src/utils/slides.js:16.
Định dạng thì khác - không có @ và dùng dấu hai chấm. Đây không còn là việc tự động đưa file vào ngữ cảnh nữa, mà chỉ là một đoạn văn bản trong yêu cầu, nhưng để chỉ "xem chỗ này" thì vẫn dùng được: agent sẽ đọc đường dẫn và tự mở đúng chỗ cần xem.
4. Hai cách khởi chạy và lệnh /ide
Nếu bạn chạy claude từ terminal tích hợp của IDE, mọi tính năng tự bật, không cần làm gì thêm.
Nếu chạy từ terminal bên ngoài (một cửa sổ riêng, Windows Terminal, iTerm), agent không có kết nối với editor cho đến khi bạn ra lệnh:
# kết nối Claude Code với IDE đang mở
/ideNếu là tôi, tôi sẽ đặt thành quy tắc: luôn chạy agent từ terminal của IDE. Khi đó bạn hoàn toàn không phải nhớ tới /ide: lệnh này chỉ cần trong đúng một trường hợp - khi terminal nằm bên ngoài.
Thêm một chuyện nữa về thư mục mà bạn chạy agent. Agent nhìn vào các file ở nơi nó được khởi chạy - chạy từ một thư mục bên cạnh thì nó sẽ làm việc nhầm file. Trong project của riêng bạn, hãy chạy từ thư mục gốc, đúng thư mục đang mở trong IDE.
Với các bài tập của khóa học thì khác: hãy chạy agent từ thư mục của bài tập, chứ không phải từ thư mục gốc codegym-project. Mỗi bài tập ở đó là một thư mục riêng với file riêng và quy tắc riêng cho agent, còn nếu chạy từ thư mục gốc của project thì cả khóa học sẽ lọt vào tầm nhìn của agent cùng một lúc.
5. Hiển thị diff ở đâu
Hiển thị thay đổi ở đâu là một tùy chọn cài đặt chứ không phải thứ cố định:
# mở phần cài đặt của Claude Code
/configTrong đó có mục diff tool: giá trị auto hiển thị bản sửa trong IDE, còn terminal giữ chúng lại trong terminal. Nếu diff cứ nhất quyết hiện trong terminal thì hãy kiểm tra chỗ này, đừng đi tìm lỗi trong plugin.
Trong terminal, diff hiện ra dưới dạng văn bản, đại loại thế này:
diff --git a/src/main/java/RefundQueue.java b/src/main/java/RefundQueue.java
index 3a7f2bc..9d41a80 100644
--- a/src/main/java/RefundQueue.java
+++ b/src/main/java/RefundQueue.java
@@ -42,7 +42,7 @@ void prioritize(RefundRequest refundRequest) {
- if (refundRequest.isUrgent()) {
+ if (refundRequest.isUrgent() || refundRequest.amount() > 100) {
moveToTop(refundRequest);
}
}Cách đọc như sau: dòng có dấu trừ là dòng cũ, dòng có dấu cộng là dòng mới. Phần còn lại là các tiêu đề kỹ thuật: đoạn này thuộc file nào và bắt đầu từ dòng nào.
Còn bây giờ là lý do đáng để bật hiển thị trong IDE. Ở những chế độ mà Claude xin phép trước mỗi lần sửa, câu hỏi không chỉ hiện thành văn bản trong terminal: IDEA mở thay đổi đó trong cửa sổ diff của chính nó với các nút Reject và Apply. Bạn nhìn những dòng được tô sáng trong ngữ cảnh của cả file và quyết định ngay tại đó.

So với diff dạng văn bản trong console thì đúng là một trời một vực: ở đây có tô sáng cú pháp, có các dòng xung quanh, có cách điều hướng quen thuộc. Quyết định "chấp nhận hay không" được đưa ra dựa trên code, chứ không phải dựa trên lời mô tả code.
6. Ba cái bẫy thường gặp
Esc không dừng được agent
Trong terminal của JetBrains, phím Esc theo mặc định sẽ chuyển focus sang editor - và đơn giản là không tới được Claude Code. Tình huống khá khó chịu: agent đang làm sai, bạn nhấn Esc, và chẳng có gì xảy ra.
Sửa một lần là xong: vào Settings → Tools → Terminal, bỏ dấu chọn ở Move focus to the editor with Escape. Nếu là tôi, tôi sẽ làm việc này ngay sau khi cài plugin, không đợi tới lần đầu gặp chuyện.
"No available IDEs detected"
Agent không nhìn thấy editor. Hãy kiểm tra lần lượt: plugin đã được cài và bật; IDE đã được khởi động lại hoàn toàn; claude được chạy từ terminal tích hợp chứ không phải từ một cửa sổ bên ngoài.
WSL: agent trong Linux, IDE trong Windows
Một trường hợp riêng của cùng lỗi đó. Nếu Claude Code chạy trong WSL2 còn IDE chạy trong Windows, thứ cản trở kết nối thường là cơ chế cách ly mạng của WSL2 hoặc tường lửa. Cách khắc phục là thêm một quy tắc cho tường lửa hoặc chuyển WSL2 sang chế độ mirrored networking - cả hai cách đều được mô tả trong tài liệu của plugin.
7. Tất cả những điều này để làm gì
Kết nối với IDE mang lại điều quan trọng nhất: bạn thấy agent đang làm gì ngay trong lúc nó làm. Từ đó nhịp làm việc sẽ như sau:
- Claude đề xuất một thay đổi;
- bạn xem diff và quyết định có chấp nhận hay không;
- Git ghi lại những gì bạn đã chấp nhận.
Bước thứ ba ở đây mới chỉ được nhắc tới. Nhịp làm việc với Git, commit và rollback là một chủ đề lớn riêng, khóa học sẽ còn quay lại với nó. Tạm thời chỉ cần nhớ một điều: điểm lưu xuất hiện sau khi bạn kiểm tra, chứ không phải trước đó.
Chu trình này chỉ đều đặn trên sơ đồ. Trong công việc thực tế, một nửa số bản sửa bạn sẽ chấp nhận mà không cần nhìn kỹ, vì đó chỉ là đổi tên biến, còn có một bản sửa bạn sẽ ngồi xem mất mười phút rồi nhờ làm lại. Chuyện đó bình thường. Mục đích không phải là soát từng dòng, mà là có sẵn khả năng đó đúng vào lúc một bản sửa trông có vẻ lạ.
Không có editor thì khả năng này đơn giản là không tồn tại: bạn phải đối chiếu với lời mô tả, chứ không phải với code.
Mở một project bất kỳ trong IDEA và bấm vào logo Claude trên thanh công cụ. Phím tắt Ctrl+Esc (Cmd+Esc trên macOS) cũng làm y như vậy, nhưng không phải lúc nào cũng hoạt động - chuyện này có xảy ra, khi đó cứ dùng chuột.
Tiếp theo, chọn vài dòng trong một file và nhấn Ctrl+Alt+K - tham chiếu tới những dòng đó sẽ tự nhảy vào prompt. Nhờ agent làm một việc nhỏ: "thêm chú thích cho phương thức này". Xem bản sửa mở ra trong cửa sổ diff như thế nào, rồi nhấn Reject - biết từ chối cũng là một kỹ năng cần có.
GO TO FULL VERSION