15 điểm bởi GN⁺ 2025-06-24 | 13 bình luận | Chia sẻ qua WhatsApp
  • Tiện ích mở rộng tích hợp Claude Code của Anthropic với VSCode để nâng cao trải nghiệm lập trình của nhà phát triển
  • Chỉ hoạt động khi Claude Code đã được cài đặt riêng

Tính năng chính

  • Cài đặt tự động: Khi chạy Claude Code trong terminal của VSCode, tiện ích mở rộng sẽ tự động được phát hiện và cài đặt
  • Nhận biết ngữ cảnh vùng chọn: Văn bản được chọn trong editor sẽ tự động được đưa vào ngữ cảnh đầu vào của Claude
  • Hỗ trợ chế độ xem Diff: Có thể xem ngay các thay đổi mã nguồn (diff) trong trình xem tích hợp của VSCode
  • Phím tắt: Có thể dễ dàng gửi đoạn mã đã chọn vào prompt của Claude bằng các phím tắt như Alt+Cmd+K
  • Tính năng nhận biết tab: Claude có thể nắm được thông tin của các tệp đang mở trong VSCode, từ đó hỗ trợ mã nguồn phù hợp với ngữ cảnh
  • Tùy chọn cài đặt: Trong /config, đặt diff tool thành auto để dễ dàng kích hoạt các tính năng liên quan đến tích hợp IDE
  • Đây là phiên bản phát hành sớm (early release), nên trong quá trình sử dụng có thể phát sinh lỗi hoặc có một số tính năng chưa hoàn thiện

13 bình luận

 
digitect38 2025-07-14

Khác biệt rõ ràng với Cursor

  1. Cursor bị gắn chặt với VSCode. Trong khi đó, Claude Code là kiểu CLI (command line interface) nên có thể dùng với bất kỳ công cụ nào.

  2. Cursor về thực chất tận dụng các LLM khác, còn Claude Code thì được tối ưu riêng cho Claude. Tuy vậy, nếu so về năng lực thì rõ ràng Claude Code vượt trội. Điều này vẫn đúng cả khi so với Gemini 2.5 Pro (theo tiêu chuẩn DotNet, có thể khác tùy ngôn ngữ).

 
bluekai17 2025-06-25

Vậy thì nó khác gì so với Cursor?

 
iolothebard 2025-06-24

Không làm bản cho Windows (không phải WSL) mà cứ lo làm chuyện khác hoài… -,-;;;

 
[Bình luận này đã bị ẩn.]
 
wahihi 2025-06-25

WSL cũng là một phần của hệ điều hành Windows mà, vậy mà lại không biết dùng... Chỉ phát triển bằng GUI nên hoàn toàn không biết CLI, hoặc là...

 
yeorinhieut 2025-06-25

Khi dùng WSL thì cũng có vấn đề hiệu năng hệ thống tệp giảm rất mạnh (wsl2), và còn có nhược điểm là phụ thuộc việc ảo hóa vào Hyper-V. Cũng có nhiều trường hợp không thể dùng WSL.

 
namojo 2025-06-26

Tôi cũng đồng cảm. Ở công ty tôi cũng bị cấm dùng WSL nên~ rồi cuối cùng đành bỏ cuộc. Bằng cách nào đó cũng vượt qua được chứng chỉ SSL để làm, nhưng hóa ra WSL lại không chạy được.

 
ng0301 2025-06-24

Hahaha, quá đồng cảm.

 
melong0124 2025-06-24

Không biết nó khác gì so với Git Copilot nhỉ?

 
digitect38 2025-07-14

Copilot được tối ưu riêng cho IDE của Microsoft và đúng là chỉ ở mức nhập môn, trong khi Claude chạy trên CLI / Git Bash nên có thể dùng trong nhiều môi trường khác nhau, đồng thời năng lực coding cũng tương đối nhỉnh hơn.

 
kimjoin2 2025-06-24

Cũng có plugin cho IntelliJ. Điểm khác biệt so với CLI đơn thuần là nó nhận biết ngay các tệp hoặc dòng bạn đang xem hay đang chọn trong IDE. Tất nhiên, bạn cũng có thể chạy từ terminal thông thường rồi bắt đầu liên kết bằng lệnh /ide.

 
GN⁺ 2025-06-24
Ý kiến trên Hacker News
  • Tôi nghĩ cách tích hợp kiểu lập trình dựa trên agent vào IDE hiện có là đi sai hướng. Tốt hơn là quản lý nhiều Git worktree và để từng agent chạy đồng thời. Không cần phải ngồi chờ hơn 20 phút để Claude Code hoàn thành xong việc. Vì vậy tôi đã tự làm UI để quản lý việc này, và nó đang dần phát triển thành một kiểu IDE mới để quản lý/đánh giá nhiều agent. Khác với trước đây, không còn là làm từng việc một. https://github.com/stravu/crystal
    • Cá nhân tôi lại nghĩ khác. Tôi dùng Cursor mỗi ngày cho các dự án thương mại. background agent có hữu ích trong một số tình huống nhất định, nhưng phần lớn chỉ gây xao nhãng. Cách lập trình tôi thích là tập trung vào một mục tiêu rồi lặp đi lặp lại để tiến gần hơn tới lời giải. Trong lúc chờ công việc hoàn tất, tôi đọc tài liệu hoặc tìm thông tin liên quan để nghĩ bước tiếp theo. Việc xem lại mã hiện có hay các thay đổi để nắm chính xác tình trạng hiện tại cũng cực kỳ quan trọng. Ý tưởng phải quản lý nhiều agent cho từng tác vụ không hợp với phong cách của tôi. Nó tạo ra quá nhiều chuyển đổi ngữ cảnh và đa nhiệm.
    • Điều tôi luôn thắc mắc với những đề xuất workflow kiểu này là làm sao quản lý được ngữ cảnh cá nhân của mình. Ngay cả khi review code của đồng nghiệp, thay vì hiểu và xác minh hoàn hảo toàn bộ mã, tôi chủ yếu chỉ kiểm tra nhanh các lỗi lớn như style code, best practice, v.v. Nhờ vậy tôi có thể duyệt nhanh rất nhiều PR trong ngày. Với các việc quan trọng hơn (khi tôi là người chịu trách nhiệm), tôi sẽ test branch và kiểm tra kỹ phần triển khai. Mỗi lần PR được cập nhật, tôi lại phải lặp lại việc này nên rất tốn thời gian. Nếu nhiều agent cùng lúc đề xuất diff, đặc biệt khi cần xác minh, thì tôi băn khoăn nên xử lý việc chuyển đổi ngữ cảnh thế nào, và quản lý phụ thuộc giữa các module ra sao khi một lần cập nhật có thể ảnh hưởng tinh vi tới việc khác.
    • Cách này cũng có thể làm y hệt bằng plugin IDE.
    • Công cụ rất hay! Tôi tò mò vì sao bạn không dùng Claude Code TS SDK. Có vẻ bạn có cài package nhưng cấu trúc lại là tự chạy trực tiếp lệnh claude. Nhân tiện, tôi khuyên bạn nên xem thử electron-trpc. Nó giúp xử lý IPC đơn giản hơn nhiều.
    • Công cụ này cũng rất hay, nhưng nó giải quyết một vấn đề khác. background agent có hai vấn đề lớn. 1) Có rào cản gia nhập trong việc thiết lập đúng môi trường tách biệt. Độ khó khác nhau tùy dự án, từ chuyện đơn giản như chọn container cho tới địa ngục thiết lập toàn bộ phụ thuộc. Trong khi đó, nếu làm ngay trong IDE thì thường mọi thứ đã sẵn sàng. 2) Mọi người phải học cách agent build code như thế nào. Nếu agent chạy trong IDE và tôi có thể góp ý hoặc chỉnh hướng cho nó theo thời gian thực, thì về lâu dài điều đó hữu ích hơn rất nhiều so với background agent.
  • Điều tôi mong muốn là thế này: một môi trường hỗ trợ cực tốt việc chuyển đổi ngữ cảnh dựa trên git worktree ngay trong cùng một cửa sổ IDE; một framework có thể gắn agent dạng terminal cho từng worktree branch; rồi dần tiến hóa thành một giao thức mở tốt hơn cho diff, thông báo xin quyền và thông báo tiến độ; một sidebar theo dõi trạng thái agent và thông báo theo từng worktree branch; và một giao diện cho phép phản hồi nhanh như xử lý thông báo đối với tin nhắn của agent trên nhiều branch. Các công cụ standalone agent manager có những tính năng như vậy, nhưng khi muốn lao ngay vào làm việc như một kỹ sư thực thụ thì lại không thể dùng những công cụ đó một cách tử tế. Cũng cần tích hợp với cửa sổ test trên trình duyệt hoặc các instance mobile emulator/simulator theo từng branch. Ngoài ra còn phải có hoàn thành mã bằng mô hình nhanh, hỗ trợ nhiều language server và một hệ sinh thái extension đủ tốt để đóng vai trò IDE chất lượng cao. Hiện tại tôi đang tách riêng Windsurf, Claude agent, trình duyệt web và mobile simulator trên nhiều desktop của macOS. Cách này rất phiền phức.
    • Điều tôi muốn là một coding agent có khả năng debug. Tôi muốn nó lần theo stack, xem giá trị biến cục bộ và tham số, và thay vì dùng print hay assert thì thật sự nhìn được bên trong đang xảy ra chuyện gì.
    • Về tính năng phản hồi nhanh như thông báo với tin nhắn của agent trên nhiều branch, tôi cũng từng định làm một plugin cho VSCode. Nó cho phép Claude nhảy thẳng tới file và dòng, đã hoạt động ở mức nào đó nhưng liên tục gặp lỗi treo.
  • Tôi không thực sự hiểu khác biệt giữa Cursor và Claude Code là gì. Tôi đã dùng cả hai, và vì công ty hỗ trợ nên chuyển hẳn sang Cursor. Ngoài chuyện CLI hay UI thì cả hai đều sửa được nhiều file nên tôi không thấy khác biệt đáng kể. Mong giai đoạn quá độ bất tiện phải dùng nhiều editor cùng lúc hoặc qua lại giữa JetBrains và Cursor sớm kết thúc.
    • Về chất lượng và độ hữu dụng thì hai bên khác nhau rất nhiều. Claude Code hoàn toàn theo kiểu agentic. Bạn giao việc là nó tự triển khai toàn bộ, tạo ra mã khá ổn và chạy được. Nó có thể test, commit, chạy lệnh, truy cập hệ thống từ xa, debug, v.v. Nó không tối ưu hóa token usage, vì vậy ở lần thử đầu tiên thường cho mã chất lượng cao hơn Cursor, nhưng đổi lại chi phí cao hơn. Agent mode của Cursor vẫn còn ở giai đoạn đầu. Cursor chủ yếu giống một công cụ sửa file, còn Claude Code giống một lập trình viên junior.
    • Nhiều người dùng cả hai cùng nhau. Cursor là IDE, còn Claude Code chạy trong terminal của IDE. Về mặt hiệu năng, cách làm agent khác nhau, và ngay cả khi dùng cùng mô hình nền tảng thì vẫn khác ở phân tích codebase, dùng mô hình phụ, liên kết công cụ, v.v.
    • Tôi thấy lạ khi bạn không cảm nhận được khác biệt. Với tôi thì Claude vượt trội ở mọi mặt. Tôi chủ yếu dùng scala, python, js, dart. Với Claude, tôi có được một trợ lý cực kỳ năng suất. Nó đặc biệt hữu ích cho các thay đổi nhỏ và vừa. Nếu lập kế hoạch tốt rồi dùng, cảm giác gần như phép thuật. Có hơi lặp mã một chút nhưng chỉ vậy thôi. Cursor thì cần chỉnh sửa quá nhiều nên rốt cuộc còn làm tôi chậm đi.
    • Claude Code thực sự rất ấn tượng. Cảm giác như có thêm một lập trình viên khác đang ngồi cùng tôi trong terminal. Nó không hoàn hảo, và cần được hỗ trợ cho tới khi hiểu đúng điều bạn muốn. Nhưng nếu căn chỉnh đúng ngữ cảnh thì thật sự đáng kinh ngạc. Trường hợp của tôi thậm chí không phải làm cho nó hiểu trọn dự án, và cũng không dùng cho TypeScript hay web development.
    • Cursor buộc bạn phải chuyển sang một IDE riêng (trừ khi vốn đã dùng VSCode), còn Claude Code (hoặc Aider) thì sửa file dự án ngay trong terminal song song với IDE hiện tại. Trường hợp của tôi là tổ hợp vim+tmux+bash nên tôi thích trợ lý CLI, nhưng đây cũng là lợi thế tương tự với những người dùng GUI IDE khác ngoài VSCode.
  • Điều khiến tôi sốc hơn là tuần trước github áp dụng giới hạn premium request cho copilot mà hầu như không có phản ứng mạnh nào. Tôi đoán khi ngày càng nhiều người thật sự đụng trần giới hạn thì phản ứng sẽ lớn hơn. Thật may là có sản phẩm cạnh tranh.
    • Claude Code có thể đốt bay 10 đô chỉ trong một lần chạy rất nhanh.
  • Tôi tò mò không biết nó có lợi thế đặc biệt nào so với khi dùng VSCode Copilot ở Agent mode + Claude Sonnet 3.7 hoặc 4 hay không. Tôi muốn biết mình đang bỏ sót điều gì.
    • Bạn phải tự trải nghiệm Claude Code thì mới trả lời được câu hỏi này. Tranh luận ở đây cũng không có nhiều ý nghĩa. Nếu bạn chủ yếu dùng terminal Linux thì sẽ mê ngay. Nhất định hãy đọc tài liệu. Hãy dùng CLAUDE.md, với các việc lớn thì tạo tài liệu kế hoạch ở dạng markup, rồi lặp lại chu trình lập kế hoạch-sửa đổi và giao cho nó triển khai. Khi gần chạm context limit, nếu ghi memory ra file rồi /clear và đọc lại thì sẽ hiệu quả hơn nhiều.
    • Tôi đã thử liên kết Playwright MCP với Copilot agent mode nhưng thất bại. Nó có cài, cũng hiện trong phần chọn công cụ, nhưng cuối cùng Copilot vẫn không cho phép truy cập chức năng đó.
  • Tôi tò mò lợi ích của giải pháp này là gì so với dùng Claude backend trong Copilot agent mode
    • Những giải thích khác trong thread này (đặc biệt là https://news.ycombinator.com/item?id=44353972) cũng áp dụng cho vscode copilot.
    • Sau vài ngày dùng thử, tôi thấy điểm cải thiện là sự tích hợp này giảm bớt sự bất tiện trước đây khi phải tự mở file để kiểm tra cập nhật. Ở terminal mode, mọi thứ diễn ra trong nền nên không biết chuyện gì đang xảy ra, còn với IDE tích hợp thì có thể thấy mọi thứ theo thời gian thực. Tuy nhiên, những cái tên agent tự gắn như Pondering, Twerking, Juggling, v.v. lúc đầu thì mới lạ nhưng nhanh chóng trở nên vô dụng.
  • Hơi lạc đề một chút, nhưng tôi tò mò có ai dùng Roo trong VSCode không. Và liệu tính năng trình duyệt của Roo có phối hợp tốt với Claude do GitHub copilot cung cấp không.
  • Theo tôi biết thì khi chạy Claude Code trong VSCode (hoặc Cursor), nó sẽ tự động được cài. Không cần phải tự đi tìm rồi cài riêng, đúng không?
    • Việc Claude Code tự động cài khi chạy trong VSCode, nghe có hơi xâm phạm nhỉ?
    • Đúng vậy. Điều này cũng được ghi rõ trên trang web của extension.
    Auto-installation: When you launch Claude Code from within VSCode’s terminal, it automatically detects and installs the extension
    
  • Khi nhận ra Claude Code hiểu được nhiều bước cùng lúc, workflow của tôi bắt đầu thay đổi. Cách nghĩ theo từng file dần chuyển thành các đơn vị hành động đơn như “tách module, viết test, refactor chỗ gọi”. Claude cũng hiểu những việc đó như một đơn vị (ở chế độ nỗ lực tối đa). Sự thay đổi này dần dần làm đổi cách tôi tiếp cận việc lập trình. Tôi bớt lo về cú pháp, viết nhiều scaffolding hơn và gom nhiều việc để xử lý cùng lúc. Khá tinh tế nhưng ảnh hưởng dài hạn rất lớn. Tôi tự hỏi khi nào thì việc chủ động cải thiện cấu trúc codebase (phẳng, ít vòng vo, metadata mang tính khai báo, v.v.) để LLM agent khám phá tốt hơn sẽ trở nên phổ biến.
    • Trước khi nói đó là tương lai thì thực ra nó đã diễn ra rồi. Armin Ronacher chuyển phần lớn việc viết code từ Python sang Go cũng vì LLM hiểu Go tốt hơn. Đồng nghiệp của tôi cũng chuyển ứng dụng desktop sang Rust vì tooling và hệ thống kiểu giúp agent dễ khám phá hơn. Cách suy nghĩ đã bắt đầu dịch chuyển sang việc tài liệu hóa sao cho AI dễ đọc.
    • Tôi cứ nghĩ mãi về điều này khi nghe rằng LLM hoạt động rõ ràng tốt hơn với các ngôn ngữ như Go, nơi có kiểu tĩnh rõ ràng, cú pháp gọn và cách viết nhất quán. Tùy vào việc ta bớt phải lo bao nhiêu về độ phức tạp không cần thiết phát sinh từ công cụ (ngôn ngữ, framework, thư viện, v.v.), ta có thể dành nhiều tài nguyên trí não hơn cho việc giải quyết các vấn đề cốt lõi.
  • Tôi rất mong Claude Code cũng có trên Jetbrains! https://plugins.jetbrains.com/plugin/27310-claude-code-beta-
    • Tôi không hiểu vì sao bình luận này lại bị downvote nhiều như vậy. Tôi cũng mong chờ điều tương tự. Cảm ơn vì đã chia sẻ.
 
namojo 2025-06-26

Khi dùng Claude Code, tôi nghĩ cách hiệu quả nhất có lẽ là kiểu khái niệm gần giống MSA: chia nhỏ được đến mức nào theo từng đơn vị microservice thì cứ chia, rồi giao mỗi phần đó như một đơn vị độc lập.