Cấu hình dự án trên Cursor
Tổng quan
Cursor là một trình soạn thảo mã nguồn AI tiên tiến, dựa trên Visual Studio Code, giúp tăng năng suất lập trình. Để cấu hình một dự án trên Cursor một cách hoàn hảo, bạn cần thiết lập các yếu tố như system prompts, cursorignore, shortcuts, codebase, và rules. Dưới đây là hướng dẫn chi tiết, dễ hiểu cho người mới bắt đầu, với các ví dụ cụ thể.
Bắt đầu với dự án
- Mở thư mục dự án bằng cách vào File > Open Folder hoặc nhấn Ctrl+Shift+P (Windows/Linux) / Cmd+Shift+P (MacOS) và chọn "Open Folder".
- Kích hoạt tùy chọn "Codebase-wide" trong quá trình cài đặt để AI hiểu toàn bộ codebase, giúp trả lời chính xác hơn khi bạn hỏi về mã nguồn. Ví dụ: Hỏi "Tìm hàm tính factorial trong codebase" và AI sẽ quét toàn bộ dự án.
Thiết lập System Prompts
System prompts là hướng dẫn cho AI, giúp nó hiểu cách bạn muốn làm việc.
- Sử dụng Cmd+K (MacOS) / Ctrl+K (Windows/Linux) để chỉnh sửa mã inline, ví dụ: "Thêm error handling vào hàm này."
- Sử dụng Cmd+L / Ctrl+L để mở cửa sổ chat và hỏi, ví dụ: "Giải thích đoạn mã này như một người mới bắt đầu."
- Thiết lập Global Rules trong Cursor Settings > General > Rules for AI, ví dụ: "Always use type hints in Python function definitions."
Tạo Project Rules trong thư mục .cursor/rules, ví dụ: Một file rule cho Next.js:
{"description": "You are an expert in Next.js and TypeScript.","patterns": ["**/*.tsx"}
Sử dụng Cursorignore
.cursorignore giúp loại trừ các tệp không cần thiết khỏi việc AI index, giống như .gitignore.
Tạo file .cursorignore trong thư mục gốc, ví dụ: Plaintext
node_modules/.git/*.log
Điều này ngăn AI xử lý các thư mục như node_modules, bảo vệ tài nguyên và bảo mật thông tin nhạy cảm.
Tùy chỉnh Shortcuts
Cursor hỗ trợ nhiều phím tắt để tăng tốc độ làm việc:
- Tab: Chấp nhận gợi ý của AI.
- Cmd+K / Ctrl+K: Chỉnh sửa mã inline.
- Cmd+L / Ctrl+L: Mở/đóng cửa sổ chat.
- Cmd+I / Ctrl+I: Mở Composer (cửa sổ nổi).
- Cmd+Shift+I / Ctrl+Shift+I: Mở Composer (toàn màn hình).
- Bạn có thể tùy chỉnh phím tắt trong quá trình cài đặt, dựa trên thói quen VS Code.
Quản lý Codebase
Codebase là toàn bộ mã nguồn dự án, và Cursor hỗ trợ tương tác mạnh mẽ:
- Sử dụng @Codebase trong chat để AI quét toàn bộ dự án, ví dụ: "Tìm tất cả các hàm xử lý API trong @Codebase."
- Composer (mở bằng Cmd+I) giúp tạo hoặc chỉnh sửa mã trên toàn dự án, ví dụ: "Chuyển đổi tất cả các hàm không có type hints thành có type hints."
Tham chiếu tệp cụ thể với @file trong quy tắc, ví dụ: Rule cho file utils.ts
{"description": "This is a rule for utils.ts","patterns": ["utils.ts"]}
Đặt Rules
Rules giúp điều chỉnh hành vi AI, có hai loại:
- Global Rules: Áp dụng cho tất cả dự án, thiết lập trong Cursor Settings > General > Rules for AI, ví dụ: "Always write code with proper indentation and comments."
Project Rules: Lưu trong .cursor/rules, áp dụng cho các tệp cụ thể, ví dụ: Rule cho SolidJS
{"description": "You are an expert in SolidJS.","patterns": ["**/*.tsx"]}
Rules hỗ trợ mô tả ngữ nghĩa, khớp mẫu tệp với glob patterns, và tự động áp dụng khi tệp được tham chiếu.
Ghi chú chi tiết về cấu hình dự án trên Cursor
Dưới đây là một phân tích chuyên sâu về cách cấu hình một dự án trên Cursor, bao gồm tất cả các khía cạnh được yêu cầu, với các ví dụ cụ thể và thông tin chi tiết. Nội dung này được xây dựng dựa trên các nguồn tài liệu chính thức và bài viết chuyên ngành, nhằm cung cấp một cái nhìn toàn diện cho người dùng chuyên nghiệp.
1. Cấu hình dự án (Configure Project)
Để bắt đầu một dự án trên Cursor, bạn cần thiết lập môi trường làm việc sao cho AI có thể hỗ trợ hiệu quả nhất.
- Mở và quản lý dự án:
- Sử dụng panel Explorer để quản lý các tệp tin. Bạn có thể mở thư mục dự án bằng cách vào File > Open Folder hoặc sử dụng lệnh Ctrl+Shift+P (Windows/Linux) / Cmd+Shift+P (MacOS) và chọn "Open Folder".
- Ví dụ: Nếu bạn có một dự án React, mở thư mục chứa file package.json để Cursor nhận diện dự án.
- Kích hoạt "Codebase-wide":
- Trong quá trình cài đặt Cursor, chọn tùy chọn "Codebase-wide" để AI có thể hiểu toàn bộ codebase. Điều này đặc biệt hữu ích khi bạn muốn hỏi các câu hỏi toàn cục, như "Tìm tất cả các hàm xử lý API trong codebase."
- Theo DataCamp Tutorial, việc này giúp AI cung cấp câu trả lời chính xác hơn, nhưng cần cẩn thận khi chia sẻ codebase chứa thông tin nhạy cảm, đặc biệt là với Git repositories.
- Sử dụng Composer cho các nhiệm vụ lớn:
- Composer là một tính năng mạnh mẽ, cho phép tạo hoặc chỉnh sửa mã trên toàn dự án. Bạn có thể mở Composer bằng Ctrl+I (Windows/Linux) / Cmd+I (MacOS) cho cửa sổ nổi, hoặc Ctrl+Shift+I / Cmd+Shift+I cho chế độ toàn màn hình.
- Ví dụ: Yêu cầu "Tạo một ứng dụng Next.js cơ bản với trang chủ và trang about," và Composer sẽ tạo cấu trúc mã tương ứng, như được mô tả trong Medium Article.
- Quản lý quy tắc dự án:
- Project Rules được lưu trong thư mục .cursor/rules, cho phép cấu hình path-specific. Để tạo một quy tắc mới, sử dụng lệnh Cmd+Shift+P > New Cursor Rule, như được ghi trong Cursor Docs.
Ví dụ: Trong một dự án SolidJS, bạn có thể tạo một file rule:
{"description": "You are an expert in SolidJS.","patterns": ["**/*.tsx"]}
Hệ thống này hỗ trợ version control vì nó là file, và có backward compatibility với file .cursorrules ở thư mục gốc, nhưng khuyến khích chuyển sang hệ thống mới.
2. Cấu hình System Prompts
System prompts là các hướng dẫn mà bạn cung cấp cho AI để điều chỉnh cách nó phản hồi.
- Cách sử dụng prompts:
- Sử dụng Cmd+K (MacOS) / Ctrl+K (Windows/Linux) để tương tác với mã nguồn inline. Ví dụ: Chọn một đoạn mã và nhập "Thêm error handling vào hàm này," AI sẽ chỉnh sửa trực tiếp.
- Sử dụng Cmd+L / Ctrl+L để mở cửa sổ chat, nơi bạn có thể hỏi các câu hỏi phức tạp, ví dụ: "Giải thích cách hoạt động của hàm calculateTotal như một người mới bắt đầu."
- Theo Builder.io, bạn có thể nâng cao ngữ cảnh bằng cách sử dụng @ Mention, như @file để tham chiếu tệp cụ thể hoặc @Web để tìm kiếm web.
- Thiết lập Rules cho prompts:
- Global Rules: Đặt trong Cursor Settings > General > Rules for AI, áp dụng cho tất cả dự án. Ví dụ: "Always use type hints in Python function definitions," như được đề cập trong DataCamp Tutorial.
Project Rules: Lưu trong .cursor/rules, áp dụng cho các tệp cụ thể. Ví dụ: Một rule cho Next.js:
{"description": "You are an expert in TypeScript, Next.js, and React.","patterns": ["**/*.tsx"]}
Theo Cursor Docs, rules hỗ trợ mô tả ngữ nghĩa, khớp mẫu tệp với glob patterns, và tự động áp dụng khi tệp được tham chiếu.
Ví dụ thực tế:
- Trong một dự án Python, bạn có thể đặt rule: "Always add docstrings to functions," và khi hỏi AI "Viết hàm tính tổng," nó sẽ tự động thêm docstring.
3. Cấu hình Cursorignore
.cursorignore là một tệp quan trọng để loại trừ các tệp hoặc thư mục khỏi việc AI index, giúp tối ưu hóa hiệu suất và bảo mật.
- Cách tạo và sử dụng:
- Tạo file .cursorignore trong thư mục gốc của dự án, giống như .gitignore.
Thêm các mẫu (patterns) để loại trừ, ví dụ:
node_modules/.git/*.log
Theo Builder.io, điều này ngăn AI xử lý các tệp không liên quan, như thư mục node_modules, giảm tải tài nguyên và bảo vệ thông tin nhạy cảm.
Lợi ích:
- Giảm thời gian xử lý của AI, đặc biệt với các dự án lớn.
- Đảm bảo không chia sẻ nhỡ thông tin nhạy cảm, như file log hoặc file cấu hình hệ thống.
4. Cấu hình Shortcuts
Shortcuts giúp tăng tốc độ làm việc, và Cursor hỗ trợ nhiều phím tắt quen thuộc với người dùng VS Code.
- Danh sách phím tắt quan trọng:

- Tùy chỉnh phím tắt:
- Trong quá trình cài đặt, bạn có thể chọn "Keyboard" để thiết lập phím tắt theo ý muốn, như được đề cập trong DataCamp Tutorial.
- Ví dụ: Nếu bạn quen với VS Code, Cursor sẽ sử dụng các phím tắt mặc định, nhưng bạn có thể thay đổi để phù hợp với thói quen cá nhân.
- Ví dụ sử dụng:
- Nhấn Cmd+K và nhập "Chuyển đổi hàm này sang sử dụng async/await," AI sẽ chỉnh sửa trực tiếp.
- Nhấn Cmd+I để mở Composer và yêu cầu "Tạo một component React cơ bản với props title và children."
5. Cấu hình Codebase
Codebase là toàn bộ mã nguồn dự án, và Cursor cung cấp nhiều cách để tương tác với nó, giúp AI hiểu ngữ cảnh tốt hơn.
- Kích hoạt "Codebase-wide":
- Theo DataCamp Tutorial, chọn "Codebase-wide" trong cài đặt để AI hiểu toàn bộ codebase, hỗ trợ các câu hỏi toàn cục như "Tìm hàm xử lý form trong codebase."
- Lưu ý: Cẩn thận khi chia sẻ codebase chứa thông tin nhạy cảm, đặc biệt với Git repositories.
- Sử dụng @Codebase:
- Trong chat hoặc Composer, sử dụng @Codebase để AI quét toàn bộ dự án. Ví dụ: "Tìm tất cả các hàm xử lý API trong @Codebase," như được mô tả trong Builder.io.
- Tham chiếu tệp cụ thể:
Sử dụng @file trong quy tắc hoặc câu hỏi để tham chiếu tệp cụ thể. Ví dụ: Trong một rule
Theo Cursor Docs, điều này cho phép chaining multiple rules, ví dụ: Rule cho file .proto (auto-generated) và rule cho file .tsx (SolidJS).
- Sử dụng Composer cho dự án lớn:
- Composer hỗ trợ tạo hoặc chỉnh sửa mã trên toàn dự án. Ví dụ: "Chuyển đổi tất cả các hàm không có type hints thành có type hints," như được đề cập trong Medium Article.
6. Cấu hình Rules
Rules là các hướng dẫn để điều chỉnh hành vi AI, có hai loại: Project Rules và Global Rules.
- Global Rules:
- Đặt trong Cursor Settings > General > Rules for AI, áp dụng cho tất cả dự án. Ví dụ: "Always write code with proper indentation and comments," như được đề cập trong Builder.io.
- Ví dụ thực tế: Đặt rule "Use Tailwind CSS classes for styling in React components."
- Project Rules:
- Lưu trong thư mục .cursor/rules, áp dụng cho các tệp hoặc thư mục cụ thể. Theo Cursor Docs, bạn có thể tạo rule với mô tả ngữ nghĩa và khớp mẫu tệp bằng glob patterns.
- Tính năng: Hỗ trợ automatic attachment khi tệp được tham chiếu, và cho phép chaining multiple rules.
- Backward Compatibility:
Bạn vẫn có thể sử dụng file .cursorrules ở thư mục gốc, nhưng hệ thống mới với .cursor/rules được khuyến khích. tion definitions."
Theo Builder.io, file .cursorrules cung cấp hướng dẫn cho Cursor Chat và Ctrl/⌘ K, nhưng hệ thống mới linh hoạt hơn.
7. So sánh và lưu ý
- So sánh với GitHub Copilot: Cursor mạnh hơn trong việc hiểu toàn bộ codebase nhờ Project Rules và Composer, nhưng Copilot có lợi thế về tương thích với nhiều IDE, như được phân tích trong Builder.io.
- Lưu ý: Một số người dùng báo cáo vấn đề ổn định trên Ubuntu, nhưng nhìn chung, Cursor được đánh giá cao về khả năng dự đoán và tự động hóa, như trong RandomCoding Review.