Hướng dẫn sử dụng Cursor hiệu quả: Từ cơ bản đến nâng cao
Chào mừng bạn đến với hướng dẫn toàn diện về Cursor, trình soạn thảo mã AI mạnh mẽ được thiết kế để nâng cao năng suất và hiệu quả công việc của bạn. Hướng dẫn này sẽ đưa bạn qua mọi khía cạnh của Cursor, từ cài đặt ban đầu, các tính năng cốt lõi như Chat và Cmd+K, đến các tùy chỉnh nâng cao và mẹo sử dụng chuyên sâu. Mục tiêu là giúp bạn làm chủ Cursor và tận dụng tối đa sức mạnh AI để viết mã nhanh hơn, thông minh hơn.
Mục Lục
- Bắt Đầu Với Cursor
- Tổng quan về Cursor và lợi ích
- Cài đặt và nhập cấu hình VS Code
- Giao diện người dùng và các thành phần chính
- Tính Năng Chat: Trợ Lý AI Đắc Lực Trong Trình Soạn Thảo
- Tổng quan về Cursor Chat
- Sử dụng Chat để đặt câu hỏi và giải quyết vấn đề
- Tối ưu hóa truy vấn Chat với ngữ cảnh (Context)
- Tính năng "Apply" để áp dụng code từ Chat vào codebase
- Tùy chỉnh Chat: Model, cài đặt, và giao diện
- Cmd+K: Chỉnh Sửa và Tạo Mã Nhanh Chóng
- Tổng quan về Cmd+K và Prompt Bar
- Tạo mã mới (Inline Generation)
- Chỉnh sửa mã tại chỗ (Inline Edits)
- Hướng dẫn tiếp theo (Follow-up Instructions)
- Ngữ cảnh mặc định và tùy chỉnh cho Cmd+K
- Hỏi nhanh (Quick Question) với Cmd+K
- Terminal Cmd+K: Tạo lệnh terminal bằng AI
- Composer: Không Gian Làm Việc AI Chuyên Sâu
- Giới thiệu về Composer và lợi ích
- Chế độ Agent và Normal: So sánh và lựa chọn
- Làm việc hiệu quả với ngữ cảnh trong Composer (@ Symbols)
- Tạo và áp dụng thay đổi mã trong Composer
- Checkpoints: Quản lý phiên bản và hoàn tác
- Lịch sử Composer: Truy cập và quản lý phiên làm việc cũ
- Bố cục Composer: Pane và Editor
- Tính năng Beta: Iterate on lints
- FAQ: Chat vs. Composer, xử lý hội thoại dài
- Quản Lý Ngữ Cảnh Nâng Cao Với @ Symbols
- Tổng quan về @ Symbols và lợi ích
- Các loại @ Symbols và cách sử dụng chi tiết:
@Chat
: Sử dụng lịch sử chat làm ngữ cảnh@Code
: Tham chiếu đoạn mã cụ thể@Codebase
: Tìm kiếm nâng cao trong codebase@Definitions
: Thêm định nghĩa lân cận làm ngữ cảnh@Docs
: Sử dụng tài liệu (Docs) làm ngữ cảnh, tùy chỉnh Docs@Files
: Tham chiếu file, chiến lược chunking file@Folders
: Tham chiếu thư mục@Git
: Sử dụng commit, diff, PR làm ngữ cảnh@Links
: Tham chiếu liên kết web@Web
: Tìm kiếm web tự động
- Sử dụng @ Symbols hiệu quả trong Chat, Cmd+K, và Composer
- Phím tắt và điều hướng @ Symbols
- Tối Ưu Hóa Hiệu Suất Cursor
- Codebase Indexing: Cài đặt và lợi ích
.cursorignore
: Loại trừ file và thư mục khỏi index.cursorrules
: Tùy chỉnh hành vi AI với rules- Notepads (Beta): Chia sẻ ngữ cảnh giữa Composer và Chat
- Custom API Keys: Sử dụng API key riêng cho OpenAI, Anthropic, Google, Azure
- Keyboard Shortcuts: Danh sách phím tắt quan trọng và tùy chỉnh
- Models: Lựa chọn và quản lý model AI
- Rules for AI: Tùy chỉnh hướng dẫn AI toàn cục và theo dự án
- Quản Lý Tài Khoản và Thanh Toán
- Subscription Tiers: Các gói dịch vụ và giới hạn sử dụng
- Billing FAQ: Câu hỏi thường gặp về thanh toán, hóa đơn, hoàn tiền
- Team Management (Business): Quản lý thành viên, vai trò, và cài đặt nhóm
- Privacy FAQ: Chế độ riêng tư và bảo mật dữ liệu
- Usage: Theo dõi và quản lý mức sử dụng
- Tùy Chỉnh Cursor Theo Nhu Cầu
- Cursor Settings: Tổng quan về cài đặt Cursor
- Features Settings: Tùy chỉnh các tính năng Cursor Tab, Chat, Composer, Codebase Indexing, Docs, Editor, Terminal
- Models Settings: Quản lý model AI
- General Settings: Cài đặt chung, nhập VS Code settings, Rules for AI, Privacy Mode
- Migrate from VS Code: Chuyển từ VS Code sang Cursor
- Migrate from GitHub Copilot: Chuyển từ Copilot sang Cursor Tab
- Giải Quyết Vấn Đề và Hỗ Trợ
- Common Issues: Các vấn đề thường gặp và cách khắc phục
- Troubleshooting Guide: Hướng dẫn thu thập thông tin và debug
- Getting a Request ID: Cách lấy Request ID để báo cáo lỗi
- Forum: Tham gia cộng đồng Cursor để được hỗ trợ và chia sẻ kinh nghiệm
1. Bắt Đầu Với Cursor
Tổng quan về Cursor và lợi ích
Cursor không chỉ là một trình soạn thảo mã thông thường; nó là một trợ lý lập trình AI mạnh mẽ tích hợp sâu vào quy trình làm việc của bạn. Được xây dựng trên nền tảng VS Code quen thuộc, Cursor mang đến những cải tiến vượt trội nhờ sức mạnh của trí tuệ nhân tạo, giúp bạn:
- Viết mã nhanh hơn: Cursor Tab và Cmd+K tự động hoàn thành và tạo mã thông minh, tiết kiệm thời gian gõ phím và giảm lỗi sai.
- Hiểu codebase sâu sắc hơn: Cursor Chat và @ Symbols giúp bạn dễ dàng khám phá, đặt câu hỏi và nắm bắt cấu trúc dự án phức tạp.
- Giải quyết vấn đề hiệu quả hơn: AI hỗ trợ gỡ lỗi, tìm kiếm giải pháp và đề xuất cải tiến mã, giúp bạn vượt qua các thách thức lập trình.
- Học hỏi và nâng cao kỹ năng: Tương tác với AI trong quá trình làm việc giúp bạn tiếp cận kiến thức mới, khám phá các phương pháp lập trình tiên tiến và liên tục cải thiện kỹ năng của mình.
Cài đặt và nhập cấu hình VS Code
Cursor được xây dựng dựa trên VS Code, vì vậy việc chuyển đổi và làm quen rất dễ dàng. Để bắt đầu:
- Tải xuống Cursor: Truy cập trang web chính thức của Cursor (https://www.cursor.sh/) và tải xuống phiên bản phù hợp với hệ điều hành của bạn.
- Cài đặt Cursor: Thực hiện theo hướng dẫn cài đặt tương tự như VS Code.
- Nhập cấu hình VS Code (tùy chọn): Để giữ nguyên môi trường làm việc quen thuộc, bạn có thể nhập cấu hình VS Code vào Cursor. Vào
Cursor Settings
>General
>Account
và chọn "Import VS Code Settings". Cursor sẽ tự động nhập extensions, themes, settings, và keybindings từ VS Code.
Giao diện người dùng và các thành phần chính
Giao diện Cursor quen thuộc với người dùng VS Code, nhưng có thêm các thành phần AI quan trọng:
- Activity Bar (Ngang): Thanh công cụ bên trái (mặc định nằm ngang để tối ưu không gian cho Chat), chứa các biểu tượng quản lý dự án, tìm kiếm, Git, Debug, và Cursor AI.
- Editor: Khu vực soạn thảo mã chính, hỗ trợ tất cả các tính năng soạn thảo của VS Code và tích hợp AI.
- Side Bar (Cursor AI Pane): Pane bên phải (có thể ẩn/hiện bằng
Cmd+L
), chứa Cursor Chat và Composer, là trung tâm tương tác với AI. - Status Bar: Thanh trạng thái dưới cùng, hiển thị thông tin dự án, ngôn ngữ, Git, và biểu tượng Cursor Tab (bật/tắt tính năng tự động hoàn thành AI).
- Command Palette (
Cmd+Shift+P
): Công cụ mạnh mẽ để truy cập tất cả các lệnh và cài đặt của Cursor. - Cursor Settings (
Cmd+Shift+J
hoặc qua Command Palette): Cài đặt riêng của Cursor, quản lý các tính năng AI, model, và tài khoản. - VS Code Settings (qua Command Palette): Cài đặt gốc của VS Code, quản lý giao diện, extensions, và các tùy chỉnh khác.
2. Tính Năng Chat: Trợ Lý AI Đắc Lực Trong Trình Soạn Thảo
Tổng quan về Cursor Chat
Cursor Chat là một công cụ trò chuyện AI trực tiếp trong trình soạn thảo, cho phép bạn đặt câu hỏi, yêu cầu giải thích, tìm kiếm thông tin và nhận hỗ trợ lập trình từ AI mà không cần rời khỏi môi trường làm việc. Chat tích hợp sâu với codebase của bạn, cung cấp ngữ cảnh thông minh và phản hồi chính xác.
Mở Cursor Chat bằng phím tắt Cmd+L
hoặc nhấp vào biểu tượng Chat trong Activity Bar.
Sử dụng Chat để đặt câu hỏi và giải quyết vấn đề
Cursor Chat có thể giúp bạn trong nhiều tình huống lập trình:
- Hiểu mã: Hỏi về chức năng của một đoạn code, cấu trúc dự án, hoặc cách thức hoạt động của một thư viện.
- Gỡ lỗi: Cung cấp thông báo lỗi hoặc đoạn code gây lỗi để AI phân tích và đề xuất giải pháp.
- Tìm kiếm thông tin: Hỏi về cú pháp ngôn ngữ, best practices, hoặc các khái niệm lập trình.
- Tạo mã đơn giản: Yêu cầu AI viết một đoạn code nhỏ, hàm tiện ích, hoặc test case.
- Đề xuất cải tiến: Hỏi AI về cách tối ưu hóa mã, refactor, hoặc cải thiện hiệu suất.
Ví dụ:
- "Giải thích đoạn code này: [chọn đoạn code] "
- "Lỗi này có nghĩa là gì và làm sao để sửa: [dán thông báo lỗi]"
- "Cách sử dụng thư viện
requests
trong Python để gửi POST request?" - "Viết hàm JavaScript để kiểm tra một số có phải là số nguyên tố không."
- "Làm thế nào để refactor hàm này cho dễ đọc hơn: [chọn hàm]"
Tối ưu hóa truy vấn Chat với ngữ cảnh (Context)
Để nhận được câu trả lời tốt nhất từ Cursor Chat, ngữ cảnh là chìa khóa. Cursor cung cấp nhiều cách để thêm ngữ cảnh vào truy vấn của bạn:
- Ngữ cảnh mặc định: Chat tự động bao gồm file hiện tại bạn đang xem làm ngữ cảnh.
- Chọn mã và mở Chat (
Cmd+L
hoặcCmd+Shift+L
): Chọn một đoạn code và mở Chat sẽ tự động thêm đoạn code đó làm ngữ cảnh.Cmd+Shift+L
thêm code đã chọn vào chat hiện tại,Cmd+L
mở chat mới với code đã chọn làm ngữ cảnh. - @ Symbols: Sử dụng các @ Symbols để tham chiếu file, folder, code, docs, web, và nhiều nguồn ngữ cảnh khác (sẽ được trình bày chi tiết trong phần 5).
Cmd+Enter
(Submit with codebase): Gửi truy vấn và yêu cầu Cursor tìm kiếm trong codebase của bạn để lấy thêm ngữ cảnh liên quan.- Kéo và thả file: Kéo file từ sidebar vào input box của Chat để thêm file đó làm ngữ cảnh.
Mẹo:
- Rõ ràng và cụ thể: Đặt câu hỏi rõ ràng và cụ thể để AI hiểu đúng yêu cầu của bạn.
- Cung cấp đủ ngữ cảnh: Thêm ngữ cảnh liên quan để AI có đủ thông tin để trả lời chính xác.
- Chia nhỏ vấn đề: Đối với vấn đề phức tạp, hãy chia nhỏ thành các câu hỏi nhỏ hơn và hỏi từng bước.
- Lặp lại và tinh chỉnh: Nếu câu trả lời ban đầu chưa ưng ý, hãy thử đặt câu hỏi lại với ngữ cảnh khác hoặc diễn đạt khác đi.
Tính năng "Apply" để áp dụng code từ Chat vào codebase
Cursor Chat không chỉ trả lời câu hỏi mà còn giúp bạn áp dụng code được tạo ra trực tiếp vào codebase của mình. Khi Chat trả về một code block, bạn sẽ thấy nút "Apply" (biểu tượng play) ở góc trên bên phải của code block.
- Nhấn "Apply": Cursor sẽ mở một diff view, hiển thị những thay đổi mà code block sẽ thực hiện trên file hiện tại.
- Xem xét diff: Kiểm tra kỹ các thay đổi được đề xuất.
- Chấp nhận (
Cmd+Enter
) hoặc Từ chối (Cmd+Backspace
): Quyết định áp dụng hay không áp dụng các thay đổi. Bạn cũng có thể chấp nhận hoặc từ chối từng phần trong diff view.
Tính năng "Apply" đặc biệt hữu ích khi bạn yêu cầu Chat tạo code mới, sửa lỗi, hoặc refactor code. Nó giúp bạn tích hợp code AI một cách nhanh chóng và an toàn.
Tùy chỉnh Chat: Model, cài đặt, và giao diện
Cursor Chat có thể được tùy chỉnh để phù hợp với sở thích và nhu cầu của bạn:
- Chọn Model AI: Ở dưới input box của Chat, bạn có thể chọn model AI muốn sử dụng (GPT-4o, GPT-4, Claude 3.5 Sonnet, cursor-small). Nhấn
Cmd+/
để chuyển đổi nhanh giữa các model. Bạn có thể thêm model khác trongCursor Settings
>Models
>Model Names
. - Cài đặt Chat: Trong
Cursor Settings
>Features
>Chat
, bạn có thể tùy chỉnh:- Always search the web for answers: Cho phép AI tìm kiếm web để có thông tin mới nhất.
- Add chat fading animation: Thêm hiệu ứng mờ dần cho tin nhắn AI.
- Auto scroll chat: Tự động cuộn chat xuống cuối khi tin nhắn mới được tạo.
- Narrow scrollbar in the chat pane: Sử dụng scrollbar hẹp hơn trong pane Chat.
- Show chat history when starting a new chat: Hiển thị lịch sử chat khi bắt đầu chat mới.
- Chat trong Editor: Mở Chat như một tab editor bằng cách nhấp vào nút "More" (ba chấm ngang) trong header của Chat pane và chọn "Open Chat in Editor". Chat sẽ hoạt động như một tab editor thông thường, có thể di chuyển, split, hoặc đặt trong cửa sổ riêng.
3. Cmd+K: Chỉnh Sửa và Tạo Mã Nhanh Chóng
Tổng quan về Cmd+K và Prompt Bar
Cmd+K (hoặc Ctrl+K trên Windows/Linux) là một công cụ chỉnh sửa và tạo mã inline cực kỳ mạnh mẽ của Cursor. Khi bạn nhấn Cmd+K
, một Prompt Bar sẽ xuất hiện ngay trong editor, cho phép bạn nhập yêu cầu chỉnh sửa hoặc tạo mã bằng ngôn ngữ tự nhiên.
Cmd+K là công cụ lý tưởng cho các tác vụ chỉnh sửa và tạo mã nhanh chóng, trực tiếp trong context của file hiện tại.
Tạo mã mới (Inline Generation)
Nếu bạn không chọn đoạn code nào khi nhấn Cmd+K
, Cursor sẽ hiểu bạn muốn tạo mã mới tại vị trí con trỏ. Nhập mô tả yêu cầu của bạn vào Prompt Bar và nhấn Enter. Cursor sẽ tạo code dựa trên yêu cầu và ngữ cảnh hiện tại.
Ví dụ:
- "Viết hàm Python để tính giai thừa của một số"
- "Tạo component React đơn giản hiển thị tiêu đề và nội dung"
- "Thêm một test case cho hàm
calculate_sum
"
Chỉnh sửa mã tại chỗ (Inline Edits)
Để chỉnh sửa mã hiện có, hãy chọn đoạn code bạn muốn thay đổi và nhấn Cmd+K
. Prompt Bar sẽ xuất hiện với đoạn code đã chọn làm ngữ cảnh. Nhập yêu cầu chỉnh sửa của bạn và nhấn Enter. Cursor sẽ chỉnh sửa đoạn code đã chọn dựa trên yêu cầu.
Ví dụ:
- [Chọn một hàm] "Thêm logging vào đầu và cuối hàm"
- [Chọn một đoạn code] "Refactor đoạn code này để dễ đọc hơn"
- [Chọn một dòng code] "Sửa lỗi chính tả trong comment này"
Hướng dẫn tiếp theo (Follow-up Instructions)
Sau mỗi lần tạo hoặc chỉnh sửa mã bằng Cmd+K, bạn có thể tinh chỉnh thêm bằng cách nhập hướng dẫn tiếp theo vào Prompt Bar và nhấn Enter. AI sẽ tái tạo code dựa trên hướng dẫn mới và ngữ cảnh hiện tại.
Tính năng này cho phép bạn lặp lại quá trình chỉnh sửa và đạt được kết quả mong muốn một cách linh hoạt.
Ví dụ:
- [Sau khi tạo hàm] "Thêm docstring cho hàm này"
- [Sau khi refactor code] "Làm cho biến
count
dễ hiểu hơn"
Ngữ cảnh mặc định và tùy chỉnh cho Cmd+K
Tương tự như Chat, Cmd+K cũng tận dụng ngữ cảnh để tạo và chỉnh sửa mã thông minh hơn.
- Ngữ cảnh mặc định: Cmd+K tự động thu thập ngữ cảnh hữu ích, bao gồm:
- File hiện tại
- Các file liên quan
- File đã xem gần đây
- ... và nhiều hơn nữa. Cursor sẽ xếp hạng và chọn ngữ cảnh phù hợp nhất với yêu cầu của bạn.
- @ Symbols: Bạn cũng có thể sử dụng @ Symbols trong Prompt Bar của Cmd+K để thêm ngữ cảnh tùy chỉnh (ví dụ:
@Files
,@Code
,@Docs
,@Definitions
,@Chat
).
Hỏi nhanh (Quick Question) với Cmd+K
Cmd+K không chỉ để tạo và chỉnh sửa mã, bạn còn có thể sử dụng nó để hỏi nhanh về code đã chọn hoặc ngữ cảnh đã thêm.
- Nhấn
Option+Enter
(hoặcAlt+Enter
): Khi ở trong Prompt Bar, nhấnOption+Enter
để chuyển sang chế độ "Hỏi nhanh". - Đặt câu hỏi: Nhập câu hỏi của bạn về code đã chọn hoặc ngữ cảnh.
- Nhận câu trả lời: Cursor sẽ trả lời câu hỏi của bạn ngay trong Prompt Bar.
Câu trả lời từ "Hỏi nhanh" có thể được sử dụng làm ngữ cảnh cho các lần tạo hoặc chỉnh sửa mã tiếp theo. Ví dụ, sau khi hỏi "Hàm này làm gì?", bạn có thể đơn giản gõ "do it" và nhấn Enter để AI tạo code dựa trên câu trả lời trước đó.
Terminal Cmd+K: Tạo lệnh terminal bằng AI
Cursor tích hợp Cmd+K vào terminal, cho phép bạn tạo lệnh terminal bằng AI.
- Mở Terminal Cmd+K: Trong terminal của Cursor, nhấn
Cmd+K
. Prompt Bar sẽ xuất hiện ở cuối terminal. - Mô tả hành động: Nhập mô tả hành động bạn muốn thực hiện trong terminal (ví dụ: "liệt kê các file trong thư mục hiện tại", "chạy server dev", "tạo migration mới cho database").
- Nhận lệnh: Terminal Cmd+K sẽ tạo lệnh terminal tương ứng.
- Chấp nhận hoặc chạy lệnh: Nhấn
Esc
để chấp nhận lệnh (copy vào terminal) hoặcCmd+Enter
để chạy lệnh ngay lập tức.
Terminal Cmd+K sử dụng lịch sử terminal gần đây, hướng dẫn của bạn, và nội dung trong Prompt Bar làm ngữ cảnh để tạo lệnh phù hợp.
4. Composer: Không Gian Làm Việc AI Chuyên Sâu
Giới thiệu về Composer và lợi ích
Composer là một không gian làm việc AI chuyên sâu trong Cursor, được thiết kế cho các tác vụ lập trình phức tạp hơn, như khám phá code, viết tính năng mới, và sửa đổi code lớn. Mở Composer bằng phím tắt Cmd+I
hoặc Cmd+N
(tạo Composer mới).
Composer cung cấp một môi trường tương tác AI mạnh mẽ, cho phép bạn:
- Khám phá codebase toàn diện: Tìm kiếm, phân tích, và hiểu sâu về cấu trúc và logic dự án.
- Viết tính năng mới phức tạp: Lập kế hoạch, tạo code, và tích hợp tính năng mới vào dự án.
- Sửa đổi code lớn và refactor: Thực hiện các thay đổi lớn, refactor code, và cải thiện kiến trúc dự án.
- Làm việc với Agent (chế độ AI tự động): Tận dụng Agent để tự động hóa nhiều tác vụ, như tìm kiếm ngữ cảnh, chạy lệnh terminal, tạo/sửa file, và thực hiện các thao tác file.
Chế độ Agent và Normal: So sánh và lựa chọn
Composer cung cấp hai chế độ làm việc chính: Agent và Normal.
-
Agent Mode (Bật bằng
Cmd+.
):- AI chủ động: Agent hoạt động như một cộng sự lập trình, chủ động đề xuất và thực hiện các hành động.
- Tự động lấy ngữ cảnh: Sử dụng
@Recommended
để Agent tự động tìm kiếm và đề xuất ngữ cảnh liên quan. - Tool Calls: Agent có thể thực hiện nhiều tool calls (tối đa 25 lần trước khi dừng), bao gồm:
- Chạy lệnh terminal
- Tạo và sửa file
- Tìm kiếm code ngữ nghĩa
- Thực hiện thao tác file
- Model Claude: Hiện tại, Agent chỉ hỗ trợ model Claude.
- Phù hợp: Các tác vụ phức tạp, cần AI chủ động khám phá và thực hiện nhiều bước.
-
Normal Mode (Tắt Agent):
- AI theo yêu cầu: AI phản hồi khi bạn đặt câu hỏi hoặc yêu cầu.
- Kiểm soát ngữ cảnh: Bạn tự chọn ngữ cảnh bằng @ Symbols.
- Tính năng cốt lõi: Vẫn có các tính năng tìm kiếm codebase, docs, web, tạo/viết file, và mở rộng @ Symbols.
- Phù hợp: Các tác vụ khám phá code, tạo code đơn giản, và chỉnh sửa code khi bạn muốn kiểm soát ngữ cảnh.
Lựa chọn chế độ:
- Agent: Khi bạn muốn AI chủ động tham gia vào quá trình lập trình, tự động hóa các tác vụ, và giải quyết vấn đề phức tạp.
- Normal: Khi bạn muốn kiểm soát ngữ cảnh, tập trung vào khám phá code, hoặc thực hiện các tác vụ đơn giản hơn.
Làm việc hiệu quả với ngữ cảnh trong Composer (@ Symbols)
Ngữ cảnh là yếu tố then chốt để Composer hoạt động hiệu quả. Composer cung cấp nhiều cách để quản lý và sử dụng ngữ cảnh:
- @ Symbols: Tương tự như Chat và Cmd+K, Composer hỗ trợ đầy đủ @ Symbols để tham chiếu các nguồn ngữ cảnh khác nhau.
@Recommended
(chỉ Agent): Yêu cầu Agent tự động đề xuất ngữ cảnh liên quan nhất đến task hiện tại.#
File Selection: Sử dụng#
+ tên file để tập trung vào các file cụ thể. Kết hợp với @ Symbols khác để kiểm soát ngữ cảnh chi tiết.
- Context Pills: Các "viên thuốc" (pills) ở đầu Composer hiển thị ngữ cảnh đang được sử dụng. Bạn có thể thêm, xóa, hoặc sắp xếp lại các pills để điều chỉnh ngữ cảnh. Sử dụng
#
để chọn file, file sẽ hiển thị dưới dạng pills. Ctrl/Cmd + M
(Switch file reading methods): Chuyển đổi giữa các phương pháp đọc file (full file, outline, chunks) cho Cmd+K và Composer.
Mẹo:
- Sử dụng
@Recommended
trong Agent: Để Agent tự động tìm kiếm ngữ cảnh phù hợp, đặc biệt khi bắt đầu một task mới. - Kết hợp
@
và#
: Sử dụng#
để chọn file chính và @ Symbols để thêm ngữ cảnh bổ sung (ví dụ:@Docs
,@Codebase
). - Quản lý Context Pills: Kiểm tra và điều chỉnh Context Pills để đảm bảo ngữ cảnh phù hợp với task hiện tại.
Tạo và áp dụng thay đổi mã trong Composer
Composer giúp bạn tạo và áp dụng thay đổi mã một cách trực quan và an toàn.
- Đề xuất thay đổi: Khi Composer đề xuất thay đổi code, nó sẽ hiển thị trong diff view.
- Xem xét diff view: Kiểm tra kỹ các thay đổi được đề xuất trong diff view.
- Chấp nhận hoặc Từ chối: Sử dụng nút "Accept" (chấp nhận) hoặc "Reject" (từ chối) để áp dụng hoặc hủy bỏ thay đổi.
- Checkpoints: Composer tự động tạo checkpoints mỗi khi bạn tạo code. Sử dụng checkpoints để hoàn tác về phiên bản trước nếu cần.
Checkpoints: Quản lý phiên bản và hoàn tác
Checkpoints là một tính năng quan trọng của Composer, giúp bạn quản lý phiên bản và hoàn tác thay đổi một cách dễ dàng.
- Tự động tạo: Mỗi khi bạn tạo code trong Composer, một checkpoint sẽ được tạo tự động.
- Hoàn tác về checkpoint: Nhấp vào "checkout" bên cạnh checkpoint để hoàn tác về phiên bản code tại thời điểm đó.
- Lợi ích: Giúp bạn thử nghiệm các thay đổi, dễ dàng hoàn tác nếu không ưng ý, và quản lý lịch sử thay đổi trong phiên làm việc.
Lịch sử Composer: Truy cập và quản lý phiên làm việc cũ
Composer lưu lại lịch sử các phiên làm việc và chat. Bạn có thể truy cập lịch sử để xem lại, tiếp tục, hoặc xóa các phiên làm việc cũ.
- Mở lịch sử: Nhấp vào biểu tượng lịch sử (đồng hồ) ở góc trên bên phải của Cursor Tab hoặc nhấn
Cmd+Option+L
(hoặcCtrl+Alt+L
) khi Composer đang focus. - Danh sách phiên làm việc: Lịch sử hiển thị danh sách các Composer và Chat đã lưu.
- Truy cập lại phiên làm việc: Nhấp vào phiên làm việc để mở lại và xem lại tin nhắn, code, và checkpoint.
- Đổi tên và xóa: Đổi tên phiên làm việc bằng biểu tượng bút chì hoặc xóa phiên làm việc bằng biểu tượng thùng rác (khi hover vào phiên làm việc).
Bố cục Composer: Pane và Editor
Composer cung cấp hai chế độ bố cục:
- Pane: Composer hiển thị trong sidebar bên trái, editor code bên phải. Đây là bố cục mặc định, tối ưu cho việc tham khảo code và tương tác với AI song song.
- Editor: Composer hiển thị như một tab editor độc lập, tương tự như tab code thông thường. Bạn có thể di chuyển, split, hoặc đặt trong cửa sổ riêng. Bố cục này phù hợp khi bạn muốn tập trung hoàn toàn vào Composer hoặc làm việc trên màn hình nhỏ.
Tính năng Beta: Iterate on lints
Composer có tính năng beta Iterate on lints, tự động cố gắng sửa lỗi linting trong code được tạo ra.
- Tự động sửa lỗi: Nếu Composer phát hiện lỗi linting, nó sẽ cố gắng sửa lỗi tự động (hiện tại chỉ hỗ trợ một lần lặp).
- Hỗ trợ nhiều ngôn ngữ: Tính năng này hoạt động với hầu hết các ngôn ngữ lập trình.
- Lưu ý: Một số ngôn ngữ (như Rust) yêu cầu file phải được lưu trước khi lỗi linting xuất hiện, có thể hạn chế hiệu quả của tính năng này trong mọi trường hợp.
FAQ: Chat vs. Composer, xử lý hội thoại dài
Sự khác biệt giữa Chat và Composer?
- Chat: Dùng để khám phá và hiểu code. Đặt câu hỏi, tìm kiếm thông tin, giải thích code. Tìm kiếm code với
Cmd+Enter
. - Composer: Dùng để viết và chỉnh sửa code. Tạo code mới, áp dụng thay đổi trực tiếp vào file. Không gian làm việc AI chuyên sâu cho các tác vụ phức tạp.
Xử lý hội thoại dài trong Composer?
Đối với hội thoại dài, Cursor tóm tắt các tin nhắn cũ bằng các model nhỏ hơn (cursor-small, gpt-4o-mini) để giữ cho phản hồi nhanh và liên quan. Điều này giúp đảm bảo hội thoại luôn mạch lạc và responsive, ngay cả khi kéo dài.
5. Quản Lý Ngữ Cảnh Nâng Cao Với @ Symbols
Tổng quan về @ Symbols và lợi ích
@ Symbols là một tính năng quản lý ngữ cảnh mạnh mẽ của Cursor, cho phép bạn tham chiếu các nguồn thông tin khác nhau làm ngữ cảnh cho Chat, Cmd+K, và Composer.
Sử dụng @ Symbols bằng cách gõ @
trong input box. Một menu popup sẽ hiển thị danh sách các @ Symbols và gợi ý liên quan.
Lợi ích của @ Symbols:
- Kiểm soát ngữ cảnh: Chọn chính xác ngữ cảnh bạn muốn cung cấp cho AI, đảm bảo phản hồi chính xác và phù hợp.
- Tiết kiệm thời gian: Không cần copy-paste code, file, hoặc docs thủ công.
- Tăng hiệu quả: AI có đầy đủ ngữ cảnh cần thiết để hiểu yêu cầu và đưa ra giải pháp tốt nhất.
- Linh hoạt: Hỗ trợ nhiều loại ngữ cảnh khác nhau, từ file, code, docs, web, đến Git và lịch sử chat.
Các loại @ Symbols và cách sử dụng chi tiết:
@Chat
(Chỉ Cmd+K)
Sử dụng @Chat
trong Cmd+K để thêm lịch sử tin nhắn chat hiện tại làm ngữ cảnh. Hữu ích khi bạn muốn áp dụng kết quả thảo luận trong chat để chỉnh sửa hoặc tạo code.
@Code
Sử dụng @Code
để tham chiếu các đoạn code cụ thể.
- Xem trước code: Cursor hiển thị preview nội dung code để bạn xác nhận đúng đoạn code cần tham chiếu.
- Thêm từ Editor: Chọn code trong editor và nhấn
Cmd+Shift+L
(Add to Chat) hoặcCmd+Shift+K
(Add to Edit) để thêm đoạn code đã chọn vào input box của Chat hoặc Prompt Bar của Cmd+K.Cmd+L
(Add to new chat) để thêm vào chat mới.
@Codebase
Sử dụng @Codebase
trong Chat để thực hiện tìm kiếm nâng cao trong codebase.
- Quy trình tìm kiếm nâng cao:
- Gathering: Quét codebase để tìm file/đoạn code quan trọng.
- Reranking: Sắp xếp lại ngữ cảnh theo mức độ liên quan đến truy vấn.
- Reasoning: AI lập kế hoạch sử dụng ngữ cảnh.
- Generating: Tạo phản hồi.
- Dropdown tìm kiếm: Trong Chat, bạn có thể chọn "reranker" trong dropdown bên cạnh nút
Cmd+Enter
để kích hoạt tìm kiếm nâng cao (khi không dùng@Codebase
).@Codebase
luôn được ưu tiên nếu sử dụng.
@Definitions
(Chỉ Cmd+K)
Sử dụng @Definitions
trong Cmd+K để thêm tất cả các định nghĩa lân cận làm ngữ cảnh. Hữu ích khi bạn muốn chỉnh sửa code liên quan đến các định nghĩa xung quanh.
@Docs
Sử dụng @Docs
để tham chiếu tài liệu (Docs) làm ngữ cảnh.
- Docs mặc định: Cursor cung cấp sẵn một bộ docs bên thứ ba đã được crawl và index (danh sách tại https://raw.githubusercontent.com/getcursor/crawler/main/docs.jsonl).
- Thêm Docs tùy chỉnh:
@Docs
>Add new doc
. Dán URL của doc bạn muốn index. Cursor sẽ index và "học" doc, sau đó bạn có thể sử dụng nó làm ngữ cảnh. Thêm dấu/
ở cuối URL để index tất cả subpages và subdirectories. - Quản lý Docs tùy chỉnh: Trong
Cursor Settings
>Features
>Docs
, bạn có thể quản lý (chỉnh sửa, xóa, thêm mới) các docs tùy chỉnh.
@Files
Sử dụng @Files
để tham chiếu toàn bộ file làm ngữ cảnh.
- Xem trước đường dẫn file: Cursor hiển thị preview đường dẫn file để bạn xác nhận đúng file cần tham chiếu, đặc biệt hữu ích khi có nhiều file trùng tên ở các folder khác nhau.
- Chunking file dài (Chat): Nếu file quá dài, Chat sẽ chia file thành các chunk nhỏ và rerank theo mức độ liên quan đến truy vấn.
- Chiến lược chunking Cmd+K: Cmd+K sử dụng file references khác nhau tùy theo độ dài file:
- auto: Tự động chọn chiến lược (full file, outline, chunks) dựa trên kích thước file.
- full file: Sử dụng toàn bộ file làm ngữ cảnh.
- outline: Phân tích outline (cấu trúc) file và dùng thông tin outline làm ngữ cảnh.
- chunks: Chia file thành chunk nhỏ và chọn chunk liên quan nhất.
- Kéo và thả file: Kéo file từ sidebar vào Chat hoặc Cmd+K để thêm file làm ngữ cảnh.
@Folders
(Chỉ Chat)
Sử dụng @Folders
trong Chat để tham chiếu toàn bộ thư mục làm ngữ cảnh. Đặc biệt hữu ích cho long context chat, khi bạn muốn cung cấp nhiều ngữ cảnh cho AI.
@Git
(Chỉ Chat)
Sử dụng @Git
trong Chat để thêm git commits, diffs, hoặc pull requests làm ngữ cảnh.
- Use cases phổ biến:
- Phân tích diff: Yêu cầu AI quét diff và tìm lỗi hoặc vấn đề tiềm ẩn.
- Tạo commit message: Sử dụng
@Diff of Working State
để tạo commit message từ diff hiện tại.
@Links
(@https://your-link.com
)
Sử dụng @Links
bằng cách gõ @
và dán link web để yêu cầu Cursor truy cập link trước khi phản hồi.
- Tự động parse links: Cursor Chat tự động parse links và chuyển thành
@Links
. - Gỡ link: Nếu bạn muốn link hiển thị dưới dạng plain text, nhấp vào link và chọn "Unlink".
@Web
Sử dụng @Web
để yêu cầu Cursor tìm kiếm web và sử dụng thông tin tìm được làm ngữ cảnh.
- Tìm kiếm tự động: Cursor tạo truy vấn tìm kiếm dựa trên câu hỏi và ngữ cảnh hiện có, sau đó tìm kiếm web để lấy thông tin liên quan.
- Lợi ích: Giúp Cursor tìm thông tin mới nhất, scrape nhiều website nhanh chóng, và đưa ra câu trả lời tốt nhất mà không cần người dùng tự tìm kiếm.
Sử dụng @ Symbols hiệu quả trong Chat, Cmd+K, và Composer
- Chat: Tập trung vào
@Codebase
,@Files
,@Folders
,@Docs
,@Web
,@Git
,@Links
để cung cấp ngữ cảnh toàn diện cho các câu hỏi phức tạp về codebase, kiến thức, hoặc vấn đề dự án. - Cmd+K: Sử dụng
@Code
,@Definitions
,@Files
,@Chat
để cung cấp ngữ cảnh chi tiết cho các tác vụ chỉnh sửa và tạo mã inline. - Composer: Tận dụng
@Recommended
(Agent),@Files
,@Folders
,@Codebase
,@Docs
để quản lý ngữ cảnh cho các task lập trình chuyên sâu và phức tạp.
Phím tắt và điều hướng @ Symbols
- Điều hướng menu: Sử dụng phím mũi tên lên/xuống để di chuyển trong danh sách gợi ý @ Symbols.
- Chọn gợi ý: Nhấn
Enter
để chọn gợi ý. Nếu là category (ví dụ:Files
), gợi ý sẽ lọc theo category đó. - Cmd+K phím tắt: Trong Cmd+K, dùng mũi tên lên/xuống để chọn @ Symbols đã chọn,
Enter
để mở/đóng context item. Với file references, dùngCtrl/Cmd + M
để chuyển đổi chiến lược đọc file.
6. Tối Ưu Hóa Hiệu Suất Cursor
Codebase Indexing: Cài đặt và lợi ích
Codebase Indexing giúp Cursor hiểu codebase của bạn sâu sắc hơn và cung cấp câu trả lời chính xác hơn khi sử dụng @codebase
hoặc Cmd+Enter
.
- Index codebase: Cursor tính toán embeddings cho mỗi file trong codebase và sử dụng chúng để cải thiện độ chính xác của câu trả lời.
- Tự động đồng bộ: Index codebase tự động đồng bộ với các thay đổi mới nhất trong codebase.
- Trạng thái Indexing: Xem trạng thái indexing trong
Cursor Settings
>Features
>Codebase Indexing
. - Cài đặt nâng cao: Mở rộng "Show Settings" để tùy chỉnh:
- Automatic indexing for new repositories: Bật/tắt tự động indexing cho repository mới.
- Ignore files: Cấu hình file Cursor sẽ bỏ qua khi indexing (ngoài
.gitignore
). Bỏ qua các file nội dung lớn không cần thiết có thể cải thiện độ chính xác.
.cursorignore
: Loại trừ file và thư mục khỏi index
File .cursorignore
ở root dự án cho phép bạn loại trừ file và thư mục khỏi Codebase Indexing, tương tự như .gitignore
cho Git.
- .cursorignore tôn trọng .gitignore: Nếu đã có
.gitignore
, các file trong đó sẽ tự động bị bỏ qua. Thêm file khác vào.cursorignore
để bỏ qua thêm. - Chat và Composer Context: Hiện tại, Chat và Composer vẫn có thể truy cập tất cả file trong context, bất kể cài đặt
.cursorignore
. - Ví dụ
.cursorignore
:# Bỏ qua tất cả file trong thư mục `dist`
dist/
# Bỏ qua tất cả file `.log`
*.log
# Bỏ qua file cụ thể `config.json`
config.json - Chỉ include file cụ thể: (Ví dụ: chỉ include file
*.py
trong thư mụcapp
)# Bỏ qua tất cả
*
# Không bỏ qua app
!app/
# Không bỏ qua thư mục con trong app
!app/*/
!app/**/*/
# Không bỏ qua file python
!*.py - Khắc phục sự cố:
.cursorignore
dùng syntax giống.gitignore
. Nếu gặp vấn đề, tìm kiếm trên Google với từ khóagitignore
thay vìcursorignore
.
.cursorrules
: Tùy chỉnh hành vi AI với rules
File .cursorrules
ở root dự án cho phép bạn tùy chỉnh hành vi AI cho dự án cụ thể, tương tự như "Rules for AI" trong Cursor Settings (toàn cục).
- Project-specific instructions: Hướng dẫn trong
.cursorrules
sẽ được áp dụng cho Chat, Cmd+K, trong dự án đó. - Tùy chỉnh hành vi AI: Sử dụng để hướng dẫn AI về style code, conventions, hoặc các yêu cầu cụ thể của dự án.
Notepads (Beta): Chia sẻ ngữ cảnh giữa Composer và Chat
Notepads (Beta) là công cụ chia sẻ ngữ cảnh mạnh mẽ giữa Composer và Chat.
- Enhanced reference documents: Notepads giống như tài liệu tham khảo nâng cao, vượt trội hơn
.cursorrules
. - Tính năng:
- Chia sẻ ngữ cảnh giữa Composer và Chat
- Tham chiếu bằng @ syntax
- Đính kèm file tài liệu
- Sử dụng như template động
- Bắt đầu:
- Nhấp "+" trong section Notepads.
- Đặt tên notepad.
- Thêm nội dung, ngữ cảnh, file, tương tự như Composer hoặc Chat.
- Tham chiếu trong Composer hoặc Chat bằng
@
.
- Use cases phổ biến:
- Dynamic Boilerplate Generation: Tạo templates code, scaffolding rules, duy trì cấu trúc code nhất quán.
- Architecture Documentation: Frontend specs, backend design patterns, data model, system architecture guidelines.
- Development Guidelines: Coding standards, project rules, best practices, team conventions.
- FAQ:
- Nên viết gì trong Notepads: Quyết định kiến trúc, guidelines, templates, docs, conventions.
- Không nên viết gì: Note tạm thời, thông tin trong version control (Git), dữ liệu nhạy cảm, thông tin thay đổi thường xuyên.
- Format/structure: Dùng headings, sections, ví dụ, markdown, đính kèm file.
- Ví dụ Notepad: (API Development Guidelines)
# API Development Guidelines
## Endpoint Structure
- Use RESTful conventions
- Base URL: `/api/v1`
- Resource naming in plural form
## Authentication
- JWT-based authentication
- Token format: Bearer {token}
- Refresh token mechanism required
## Response Format
{
"status": "success|error",
"data": {},
"message": "Optional message"
}
## Attached References
@api-specs.yaml
@auth-flow.md
Custom API Keys: Sử dụng API key riêng cho OpenAI, Anthropic, Google, Azure
Cursor cho phép bạn sử dụng API key riêng cho các LLM providers (OpenAI, Anthropic, Google, Azure) để gửi nhiều tin nhắn AI hơn với chi phí của riêng bạn.
- Cài đặt API Key:
Cursor Settings
>Models
>[Provider] API Key
. Nhập API key và nhấn "Verify". - Lưu ý: Một số tính năng Cursor (Tab Completion, Apply from Chat, Composer) cần model chuyên biệt và không hoạt động với custom API keys. Custom API keys chỉ hoạt động với các tính năng dùng model chuẩn từ OpenAI, Anthropic, Google.
- Lấy API Key:
- OpenAI: https://platform.openai.com/account/api-keys
- Anthropic: (Theo tài liệu, không có link cụ thể, có thể cần tìm trên trang Anthropic)
- Google: (Theo tài liệu, không có link cụ thể, có thể cần tìm trên trang Google Cloud/Gemini)
- Azure: (Theo tài liệu, không có link cụ thể, có thể cần tìm trên Azure Portal)
- Bảo mật API Key: API key của bạn không được lưu trữ, nhưng sẽ được gửi lên server của Cursor với mỗi request (request vẫn đi qua backend của Cursor để xây dựng prompt cuối cùng).
Keyboard Shortcuts: Danh sách phím tắt quan trọng và tùy chỉnh
Cursor cung cấp nhiều phím tắt để thao tác nhanh chóng và hiệu quả. Xem toàn bộ phím tắt bằng Cmd + R
sau đó Cmd + S
. Cursor keybindings dựa trên VS Code Key Bindings (https://code.visualstudio.com/docs/getstarted/keybindings). Thay Cmd
bằng Ctrl
trên Windows.
Phím tắt quan trọng:
- General:
Cmd + I
: Open ComposerCmd + L
: Open ChatCmd + .
: Toggle Agent in ComposerCmd + /
: Toggle AI modelsCmd + Alt + L
: Open Chat & Composer historyCmd + Shift + J
: Open Cursor settingsCmd + Shift + P
: Open command palette
- Chat:
Cmd + Enter
: Submit with codebaseEnter
: Submit↑
: Select previous messageSelect code, Cmd + L
: Add selected code as context (new chat)Select code, Cmd + Shift + L
: Add selected code as context (current chat)
- Composer:
Cmd + Backspace
: Cancel generation/Reject all changesCmd + Enter
: Accept all changesTab
/Shift + Tab
: Cycle to next/previous messageCmd + Alt + /
: Open model toggleCmd + N
/Cmd + R
: Create new composerCmd + Shift + K
: Open composer as barCmd + [
/Cmd + ]
: Previous/Next composerCmd + W
: Close composer↑
: Select previous message
- Cmd+K:
Cmd + K
: Open Cmd+KCmd + Shift + K
: Toggle input focusEnter
: SubmitOption + Enter
: Ask quick question
- Code Selection & Context:
@
: @-symbols#
: FilesCmd + Shift + L
: Add selection to ChatCmd + Shift + K
: Add selection to EditCmd + L
: Add selection to new chatCmd + M
: Toggle file reading strategiesCmd + →
: Accept next word of suggestionCmd + Enter
: Search codebase in chatSelect code, Cmd + C, Cmd + V
: Add copied reference code as contextSelect code, Cmd + C, Cmd + Shift + V
: Add copied code as text context
- Tab:
Tab
: Accept suggestionCmd + →
: Accept next word
- Terminal:
Cmd + K
: Open terminal prompt barCmd + Enter
: Run generated commandEsc
: Accept command
Models: Lựa chọn và quản lý model AI
Cursor cho phép bạn chọn model AI cho Chat, Cmd+K, và Terminal Cmd+K.
- Model Dropdown: Dưới input box, dropdown cho phép chọn model:
GPT-4o
GPT-4
Claude 3.5 Sonnet
cursor-small
(model tùy chỉnh của Cursor, nhanh, unlimited access)- Thêm model khác trong
Cursor Settings
>Models
>Model Names
.
- Context window:
- Chat: ~20,000 tokens (hoặc ít hơn nếu model không hỗ trợ). Long-context chat dùng context window tối đa của model.
- Cmd+K: ~10,000 tokens (cân bằng TTFT và chất lượng).
Rules for AI: Tùy chỉnh hướng dẫn AI toàn cục và theo dự án
Bạn có thể tùy chỉnh hành vi AI bằng cách thêm Rules for AI trong Cursor Settings
> General
> Rules for AI
.
- Global instructions: Hướng dẫn này áp dụng cho tất cả các tính năng AI (Chat, Cmd+K).
- .cursorrules (project-specific): Tạo file
.cursorrules
ở root dự án để có hướng dẫn AI riêng cho dự án đó.
7. Quản Lý Tài Khoản và Thanh Toán
Subscription Tiers: Các gói dịch vụ và giới hạn sử dụng
Cursor cung cấp các gói dịch vụ khác nhau:
- Hobby:
- 14 ngày Pro trial
- 50 slow
premium
model uses - 2000 [completions] uses
- Pro:
- 500 fast
premium
model uses/tháng - Unlimited slow
premium
model uses - Unlimited [completions] completions
- 10
o1+mini
uses/tháng
- 500 fast
- Business: (tương tự Pro về usage, thêm tính năng team)
- Enforce privacy mode org-wide
- Centralized team billing
- Admin dashboard with usage stats
- SAML/OIDC SSO
Premium models: GPT-4, GPT-4o, Claude 3.5 Sonnet. Claude 3.5 Haiku tính 1/3 premium request.
Pro Trial: 14 ngày, full Pro features, 150 fast premium requests. Hết trial tự động chuyển sang Hobby.
Fast và Slow Requests:
- Cursor cố gắng ưu tiên fast premium requests cho mọi người.
- Giờ cao điểm, hết fast credits sẽ chuyển sang slow pool (queue chờ fast request).
- Queue công bằng, Cursor cố gắng giữ queue ngắn nhất.
- Nâng cấp lên Pro hoặc mua thêm fast requests để không phải chờ.
Mua thêm requests:
- Fast Requests Packages: Thêm 500 fast requests với $20/tháng.
- Annual plan: $240/năm.
- Monthly plan: $20/tháng.
- Mua giữa chu kỳ: prorated, tính phí ngay.
- Gói thêm hiển thị như subscription Pro riêng trong billing dashboard.
- Usage-based Pricing: Chọn usage-based pricing cho requests vượt quá quota gói (trong settings page).
- Premium model: $0.04/request, billed theo block 500 requests ($20).
- Set monthly spending limit để kiểm soát chi phí.
Kiểm tra Usage: Cursor Settings > General
> Account
> "Manage Subscription" (Pro) hoặc "Manage" (Business). Usage reset hàng tháng theo ngày bắt đầu subscription.
Billing FAQ: Câu hỏi thường gặp về thanh toán, hóa đơn, hoàn tiền
- Billing settings: Dashboard > "Billing" button.
- Billing cycles: Monthly hoặc annual, bắt đầu từ ngày subscribe. Business accounts dùng prorated billing khi thay đổi team size.
- Team seats (Business): Per-seat billing. Thêm thành viên giữa chu kỳ tính phí prorated. Admin quản lý seats qua dashboard.
- Switch monthly/annual:
- Pro: settings > "Manage subscription" > "Update subscription".
- Business: settings > "Account" > "Advanced" > "Upgrade to yearly billing".
- Chỉ switch monthly to yearly self-serve. Yearly to monthly: liên hệ hi@cursor.com.
- Trials: Pro trials 14 ngày hoặc hết quota (pricing page). Hết trial cần upgrade để tiếp tục dùng Pro features.
- Usage-based pricing: Opt-in trong settings page. Premium model $0.04/request, billed block 500 requests ($20). Set monthly spending limit.
- Invoices: Billing portal, view và download invoices.
- Automatic invoice emails: Đang phát triển, sẽ có opt-in sau.
- Update billing info: Billing portal, payment method, company name, address, tax info. Dùng Stripe. Thay đổi chỉ áp dụng cho hóa đơn tương lai.
- Cancel subscription: Billing portal, "Cancel subscription" button. Access tiếp tục đến hết billing period.
- Billing issues: hi@cursor.com.
- Refund:
- Self-serve refund: Billing portal, "Cancel subscription" button (nếu trong thời gian cho phép).
- Ngoài self-serve window: hi@cursor.com.
- Refund policy:
- EU, UK, Turkey: 14 ngày từ ngày mua.
- Khác (US + rest of world):
- Monthly: 24h sau mua.
- Annual: 72h sau mua.
Team Management (Business): Quản lý thành viên, vai trò, và cài đặt nhóm
Upgrading to Business:
- Cursor Settings dashboard >
Upgrade to Business
. - Điền Team name, Billing cycle.
Create Team
> billing.- Mời thành viên sau khi billing xong.
- Cài đặt SSO hoặc Domain Verification (tùy chọn) >
SSO
.
Authentication Options:
- Email login (magic link)
- Gmail/Google/GitHub account
- SAML/OIDC SSO
Team Roles:
- Member: User thường, dùng Business features, được tính seat. Mời được thành viên.
- Admin: Quản lý team, security settings, usage controls, admin dashboard, được tính seat. Full team management, usage & security controls, usage-based pricing controls.
- Unpaid Admin: Quản lý team, không tính seat. Cần ít nhất 1 Admin trả phí để assign role này. Same capabilities as Admin, Not billed for a user seat.
Role Comparison Table: (Xem bảng trong tài liệu gốc)
Team Management:
- Thêm thành viên:
- Email Invitations:
Invite Members
button > nhập email. - Invite links:
Invite Members
button > copyInvite Link
.
- Email Invitations:
- Billing Impact: Thêm member/admin thêm billable seat. Billing tự động điều chỉnh, prorated. Unpaid admin không tính seat.
- Team Configuration:
- User Management: Sửa role, bật/tắt features cho user, monitor activity/usage.
- Security Settings & SSO: Cấu hình SSO, domain verification, access controls.
- SCIM & Provisioning: SSO block sign-in khác. JIT provisioning cho domain users với SSO. SCIM provisioning sắp ra mắt.
- Usage Controls: Set spending caps, monitor team-wide usage.
- Billing: [Switch to annual billing]
Privacy FAQ: Chế độ riêng tư và bảo mật dữ liệu
- Privacy Mode: Bật
Privacy Mode
(onboarding hoặcCursor Settings
>General
>Privacy Mode
) để không lưu trữ code của bạn (Cursor và bên thứ ba). Nếu tắt, Cursor có thể thu thập prompts, code snippets, telemetry để cải thiện Cursor. Đọc thêm về Privacy Mode. - Requests routed through Cursor backend: Luôn luôn. Kể cả khi dùng API key riêng, request vẫn qua backend của Cursor để xây dựng prompt cuối cùng.
- Codebase indexing có lưu trữ code? Không. Cursor upload codebase theo chunk nhỏ để tính embeddings, plaintext code không tồn tại sau request. Embeddings và metadata (hashes, obfuscated file names) được lưu, không lưu code. Đọc thêm về security.
Usage: Theo dõi và quản lý mức sử dụng
Xem phần Subscription Tiers và Billing FAQ để biết thông tin chi tiết về mức sử dụng và quản lý tài khoản.
8. Tùy Chỉnh Cursor Theo Nhu Cầu
Cursor Settings: Tổng quan về cài đặt Cursor
Cursor Settings
( Cursor
> Settings
> Cursor Settings
) cho phép bạn tùy chỉnh Cursor theo sở thích.
- General: Nhập VS Code settings, Rules for AI, editor settings, privacy settings.
- Features: Quản lý Cursor Tab, Chat & Composer, Codebase Indexing, Docs, Editor, Terminal.
- Models: Quản lý model AI.
Features Settings: Tùy chỉnh các tính năng Cursor Tab, Chat, Composer, Codebase Indexing, Docs, Editor, Terminal
- Cursor Tab: Bật/tắt Cursor Tab và Advanced Features.
- Chat & Composer:
- Agent Stickiness: Lưu lựa chọn Agent/Normal mode cho Composer mới.
- Auto-Scroll to Bottom: Tự động cuộn xuống cuối Composer pane khi có tin nhắn mới.
- Auto-Apply to Files Outside Context: Cho phép Composer tự động áp dụng thay đổi vào file ngoài context.
- Collapse Input Box Pills in Pane or Editor: Ẩn pills trong Composer pane/editor input box để tiết kiệm không gian.
- Render Pills Instead of Blocks: Hiển thị code blocks trong Composer dưới dạng pills thay vì code blocks.
- Iterate on Lints [BETA]: Composer cố gắng sửa lỗi linting nhiều lần (beta).
- Codebase Indexing: Cấu hình Codebase Indexing.
- Index New Files by Default: Tự động index file mới (mặc định bật). Index tự động chỉ hoạt động với folder < 10,000 files.
- Ignore Files: Thêm file bỏ qua khi indexing (ngoài
.gitignore
). - Git Graph Relationships: Index git history để hiểu quan hệ giữa các file (metadata commit lên cloud, code và commit message lưu local).
- Docs: Quản lý Docs.
- Editor:
- Chat/Edit Tooltip: Hiển thị tooltip Chat/Edit gần code highlight.
- Auto Parse Links: Tự động parse links và thêm vào context.
- Auto-Select for
Ctrl/Cmd + K
: Tự động chọn region cho chỉnh sửa inline Cmd+K. - Themed Diffs: Dùng màu nền themed cho inline diffs trong editor.
- Terminal:
- Show Terminal Hover Hint: Hiển thị hover hint trong terminal với lệnh "Add to Chat" hoặc "Debug with AI".
- Use Preview Box: Dùng preview box trong terminal cho output Cmd+K (bật), hoặc stream trực tiếp vào terminal (tắt).
Models Settings: Quản lý model AI
Section Models quản lý các model AI có sẵn cho Chat, Cmd+K, Terminal Cmd+K. Cursor thêm model mới ngay khi có.
- Model Dropdown: Dropdown dưới input box để chọn model ([models]).
- Supported Providers: Hỗ trợ các LLM providers lớn: OpenAI, Anthropic, Google, Azure.
General Settings: Cài đặt chung, nhập VS Code settings, Rules for AI, Privacy Mode
Section General trong Cursor Settings:
- Import VS Code settings.
- Rules for AI.
- Cấu hình editor settings.
- Quản lý privacy settings.
Migrate from VS Code: Chuyển từ VS Code sang Cursor
Cursor là fork của VS Code, dễ chuyển đổi.
- Import Settings:
Cursor Settings
>General
>Account
> "Import VS Code Settings". Nhập extensions, themes, settings, keybindings. - Staying Up to Date: Cursor định kỳ rebase lên VS Code mới nhất.
- Why Not an Extension? Ứng dụng độc lập cho phép Cursor kiểm soát UI tốt hơn, tích hợp AI sâu hơn (Cursor Tab, CMD-K không thể làm plugin).
- Settings:
- Cursor Settings:
Ctrl/Cmd + Shift + J
hoặcCtrl/Cmd + Shift + P
>Cursor Settings
. - VS Code Settings:
Ctrl/Cmd + Shift + P
>VS Code Settings
.
- Cursor Settings:
- Activity Bar Horizontal: Mặc định ngang để tiết kiệm không gian cho chat. Chuyển dọc: VS Code settings >
workbench.activityBar.orientation
>vertical
, restart Cursor.
Migrate from GitHub Copilot: Chuyển từ Copilot sang Cursor Tab
Tab Improvements:
- Cursor Tab mạnh hơn Copilot: Suggest diffs, memory tốt hơn.
- Khác biệt lớn nhất: Cách Cursor và Copilot hoàn thành code.
- Copilot: Chỉ insert text tại cursor. Không edit code xung quanh, không xóa text.
- Cursor Tab: Insert text, edit code xung quanh, multi-character edits, instruction-based edits, history (biết bạn đang làm gì tiếp theo).
- Migrate from GitHub Copilot: Cursor mặc định có Copilot. Có thể cài cả hai. Nên tắt Copilot khi dùng Cursor. Cursor Tab ưu tiên hơn Copilot mặc định. Muốn dùng Copilot, [disable Cursor] trong settings.
9. Giải Quyết Vấn Đề và Hỗ Trợ
Common Issues: Các vấn đề thường gặp và cách khắc phục
- Update changelog nhưng Cursor chưa update: Update có thể chưa rollout đến bạn (staged rollouts, chờ vài ngày).
- GitHub login issues / Log out GitHub:
Ctrl/Cmd + Shift + P
>Sign Out of GitHub
. - Không dùng được GitHub Codespaces: Cursor chưa hỗ trợ Codespaces.
- Lỗi kết nối Remote SSH: Chưa hỗ trợ SSH vào Mac/Windows. Nếu không dùng Mac/Windows, báo lỗi trên forum.
- Cursor Tab/Cmd K không hoạt động sau corporate proxy: Cursor Tab/Cmd K dùng HTTP/2 (nhanh, ít resource). Một số proxy (Zscaler) chặn HTTP/2. Sửa:
cursor.general.disableHttp2": true
trong settings (Cmd/Ctrl + ,
> searchhttp2
). - Đã subscribe Pro nhưng vẫn free plan: Log out và log in lại từ [Cursor Settings Popup].
- Khi nào usage reset? Pro: Dashboard >
Manage Subscription
, xem plan renewal date. Free: 1 tháng từ ngày nhận email đầu tiên. - Uninstall Cursor: Hướng dẫn uninstall VS Code, thay "VS Code"/"Code" bằng "Cursor", ".vscode" bằng ".cursor".
- Delete account: Dashboard >
Delete Account
(xóa account và data). - Mở Cursor từ command line: Chạy
cursor
trong terminal. Nếu thiếu lệnhcursor
:⌘⇧P
(command palette)install command
Install 'cursor' command
(và tùy chọncode
command).
Troubleshooting Guide: Hướng dẫn thu thập thông tin và debug
Thông tin hữu ích khi báo lỗi:
01) Screenshot lỗi (che thông tin nhạy cảm).
02) Các bước tái hiện lỗi.
03) System Information: Cursor
> Help
> About
.
04) Dùng VPN hoặc Zscaler?
05) Developer tools console errors: Cursor
> Help
> Toggle Developer Tools
> Console
.
06) Logs:
- Windows:
C:\Users\<your-user-name>\AppData\Roaming\Cursor\logs
. Ctrl
+Shift
+P
>Developer: Open Logs Folder
.Cursor
>Terminal
>Output
> dropdown > chọnWindow
,Cursor Tab
,Cursor Indexing & Retrieval
, ...
Getting a Request ID: Cách lấy Request ID để báo cáo lỗi
Request ID giúp team Cursor điều tra lỗi.
- Request ID là gì? Unique identifier cho mỗi request gửi đến Cursor. Format:
8f2a5b91-4d3e-47c6-9f12-5e8d94ca7d23
. - Tìm Request ID: Dùng lệnh
Report AI Action
.- Lưu ý: Request IDs hạn chế khi bật Private Mode (nên tắt khi báo lỗi). Business plan mặc định bật Private Mode (admin org).
⌘⇧P
(command palette)Report AI Action
- Chọn
Report AI Action
option. - Popup hiện danh sách AI actions gần nhất (Chat, Composer, CMD+K, Tab).
- Chọn action cần report (theo thời gian và tính năng).
- Copy Request ID vào clipboard.
- Request ID tiết lộ gì? Cho phép team Cursor xem request chính xác bạn gửi, context, và phản hồi AI. Giúp debug lỗi AI. Chỉ team Cursor dùng Request IDs để diagnose issues, không chia sẻ với admin org hoặc bên thứ ba.
Forum: Tham gia cộng đồng Cursor để được hỗ trợ và chia sẻ kinh nghiệm
Tham gia Cursor Forum (https://forum.cursor.com) để:
- Tương tác với người dùng khác.
- Chia sẻ kinh nghiệm.
- Đặt câu hỏi và được hỗ trợ.
- Tham gia thảo luận về Cursor.
Bắt đầu:
- Truy cập Cursor Forum.
Sign Up
tạo forum account (riêng biệt với Cursor account chính).- Tạo credentials.
- Tham gia cộng đồng!
Hy vọng hướng dẫn toàn diện này sẽ giúp bạn làm chủ Cursor và tận dụng tối đa sức mạnh AI để nâng cao hiệu quả lập trình của mình. Chúc bạn có những trải nghiệm tuyệt vời với Cursor!