Tái cấu trúc mã bằng chế độ Trò chuyện GitHub Copilot
GitHub Copilot có thể được sử dụng để tái cấu trúc mã trong cơ sở mã của bạn. Bạn có thể sử dụng tác nhân chế độ xem Chat để phân tích, lập kế hoạch và triển khai các tác vụ tái cấu trúc mã. Nhân viên chế độ xem Chat cung cấp giao diện thân thiện với người dùng để quản lý các cuộc trò chuyện và truy cập các tính năng của GitHub Copilot. Chế độ xem Chat bao gồm các tổng đài viên tích hợp sau:
- Hỏi: Sử dụng Hỏi để đặt câu hỏi về cơ sở mã hoặc khái niệm công nghệ của bạn. Bạn có thể sử dụng Hỏi để giải thích mã, đề xuất sửa đổi hoặc sửa lỗi hoặc cung cấp thông tin liên quan đến cơ sở mã.
- Kế hoạch: Sử dụng tác nhân Kế hoạch để tạo kế hoạch triển khai có cấu trúc, từng bước trước khi viết bất kỳ mã nào. Khi kế hoạch có vẻ phù hợp, hãy giao nó cho một tác nhân triển khai để thực hiện nó.
- Tổng đài viên: Sử dụng Tổng đài viên để bắt đầu quy trình mã hóa tác nhân. Bạn có thể sử dụng Agent để chạy lệnh, thực thi mã hoặc thực hiện các tác vụ khác trong không gian làm việc của mình.
Quan trọng
Khi bạn sử dụng Agent, GitHub Copilot có thể thực hiện nhiều yêu cầu trả phí để hoàn thành một nhiệm vụ. Các yêu cầu trả phí có thể được sử dụng bởi lời nhắc do người dùng khởi tạo và các hành động tiếp theo GitHub Copilot thực hiện thay mặt bạn. Tổng số yêu cầu phí bảo hiểm được sử dụng tùy thuộc vào độ phức tạp của tác vụ, số bước liên quan và mô hình được chọn.
Sử dụng Ask để tái cấu trúc mã
Bạn có thể sử dụng Hỏi để nhận trợ giúp về các tác vụ mã hóa, hiểu các khái niệm phức tạp và cải thiện mã của mình. Hỏi được thiết kế cho các cuộc trò chuyện tương tác với GitHub Copilot Chat. Bạn có thể đặt câu hỏi, nhận giải thích hoặc yêu cầu đề xuất trong thời gian thực.
Mở chế độ xem Chat và chọn Hỏi.
Thêm ngữ cảnh vào cuộc trò chuyện.
Hỏi hỗ trợ người tham gia trò chuyện, lệnh gạch chéo và biến trò chuyện. Bạn có thể thêm người
@workspacetham gia trò chuyện hoặc#codebasevào cuộc trò chuyện để cung cấp ngữ cảnh cùng với tệp hoặc thư mục.Đặt câu hỏi giúp bạn hiểu được mã mà bạn muốn cấu lại và các thay đổi bạn muốn thực hiện.
Ví dụ: bạn có thể yêu cầu GitHub Copilot giúp bạn hiểu mã xác thực hiện tại của mình cách cập nhật phương thức hiện tại bằng OAuth.
Xây dựng lời nhắc mô tả cập nhật mà bạn muốn thực hiện.
Lời nhắc của bạn nên bao gồm mô tả về tính năng mã mà bạn muốn thực hiện. Ví dụ:
@workspace I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files. Explain how to update the EnumHelper class using dictionaries and show me the updated code.Xem lại mã được đề xuất trong dạng xem Trò chuyện.
Phản hồi được hiển thị trong dạng xem Trò chuyện sẽ bao gồm một đoạn mã mà bạn có thể sử dụng để triển khai tính năng này. Bạn có thể nhập lời nhắc cập nhật để tinh chỉnh mã hoặc yêu cầu thêm chi tiết.
Để triển khai mã đề xuất, bạn có thể di con trỏ chuột qua đoạn mã, sau đó chọn giữa các tùy chọn Áp dụng, Chèn và Sao chép .
- Áp dụng: Áp dụng đề xuất mã cho tệp hiện tại trong trình chỉnh sửa.
- Chèn: Chèn đề xuất mã vào vị trí con trỏ hiện tại trong trình chỉnh sửa.
- Sao chép: Sao chép đề xuất mã vào khay nhớ tạm.
Kiểm tra mã được tái c yếu tố của bạn để đảm bảo nó chạy mà không có lỗi và tạo ra kết quả mong đợi.
Sử dụng Plan để tái cấu trúc mã
Bạn có thể sử dụng tác nhân Kế hoạch khi muốn tạo kế hoạch triển khai từng bước, có cấu trúc trước khi thực hiện thay đổi. Tác nhân Plan phân tích cơ sở mã của bạn, đặt câu hỏi làm rõ và tạo ra một kế hoạch chi tiết. Khi kế hoạch có vẻ phù hợp, bạn có thể giao nó cho một tác nhân triển khai để thực hiện nó.
Mẹo
Sử dụng Ask để đánh giá mã mà bạn muốn tái cấu trúc và đánh giá các tùy chọn của bạn trước khi bắt đầu thực hiện thay đổi. Bạn có thể sử dụng Kế hoạch để tạo một kế hoạch có cấu trúc và sau đó chuyển nó cho một tác nhân triển khai.
Mở chế độ xem Chat và chọn Gói.
Thêm ngữ cảnh vào cuộc trò chuyện.
Chỉ định ngữ cảnh không gian làm việc bằng cách sử dụng
#codebasevà bằng cách thêm tệp vào cuộc trò chuyện.Xây dựng lời nhắc mô tả tính năng mã mà bạn muốn thực hiện.
Lời nhắc của bạn nên bao gồm mô tả về tính năng mã mà bạn muốn thực hiện. Ví dụ:
#codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files.Xem lại kế hoạch triển khai có cấu trúc mà GitHub Copilot tạo ra.
Tổng đài viên Kế hoạch tạo kế hoạch từng bước mà bạn có thể xem lại trước khi thực hiện bất kỳ thay đổi mã nào.
Khi kế hoạch có vẻ phù hợp, hãy giao nó cho một tác nhân triển khai để thực hiện nó.
Bạn có thể chuyển kế hoạch cho Agent để áp dụng các thay đổi cho cơ sở mã của mình.
Xem lại các chỉnh sửa được đề xuất trong trình soạn thảo mã.
Chấp nhận hoặc bỏ các chỉnh sửa được đề xuất.
Bạn có thể dẫn hướng qua các chỉnh sửa bằng các mũi tên lên và xuống. Bạn có thể Giữ (chấp nhận) hoặc Hoàn tác (bỏ) các chỉnh sửa được đề xuất riêng lẻ bằng cách sử dụng menu bật lên xuất hiện trên mỗi chỉnh sửa. Bạn cũng có thể chấp nhận hoặc từ chối tất cả các chỉnh sửa cùng một lúc bằng cách sử dụng nút Giữ và Hoàn tác ở cuối tab trình chỉnh sửa (hoặc chế độ xem Trò chuyện).
Kiểm tra mã được tái c yếu tố của bạn để đảm bảo nó chạy mà không có lỗi và tạo ra kết quả mong đợi.
Sử dụng Agent để tái cấu trúc mã
Bạn có thể sử dụng Agent khi muốn tự động hóa quá trình tái cấu trúc mã. Đại lý hoạt động như một đại lý tự trị có thể thực hiện các hành động thay mặt bạn. Bạn có thể yêu cầu GitHub Copilot thực hiện các tác vụ cụ thể và nó tạo mã dựa trên yêu cầu của bạn.
Với Tổng đài viên, bạn có thể sử dụng ngôn ngữ tự nhiên để chỉ định một nhiệm vụ cấp cao và để GitHub Copilot tự động suy luận về yêu cầu, lập kế hoạch công việc cần thiết và áp dụng các thay đổi cho cơ sở mã của bạn. Agent sử dụng kết hợp chỉnh sửa mã và gọi công cụ để hoàn thành nhiệm vụ bạn đã chỉ định. Khi xử lý yêu cầu của bạn, ứng dụng sẽ giám sát kết quả của các chỉnh sửa và công cụ, đồng thời lặp lại để giải quyết bất kỳ sự cố nào phát sinh.
Quan trọng
Khi bạn sử dụng Agent, GitHub Copilot có thể thực hiện nhiều yêu cầu trả phí để hoàn thành một nhiệm vụ. Các yêu cầu trả phí có thể được sử dụng bởi lời nhắc do người dùng khởi tạo và các hành động tiếp theo GitHub Copilot thực hiện thay mặt bạn. Tổng số yêu cầu phí bảo hiểm được sử dụng tùy thuộc vào độ phức tạp của tác vụ, số bước liên quan và mô hình được chọn.
Mở chế độ xem Trò chuyện và chọn Tổng đài viên.
Xây dựng lời nhắc mô tả tác vụ bạn muốn GitHub Copilot thực hiện.
Giả sử bạn có một dự án mã sử dụng hai hoặc nhiều quy trình/kỹ thuật để thực hiện cùng một tác vụ. Bạn có thể yêu cầu GitHub Copilot tái cấu trúc mã của bạn bằng cách sử dụng một cách tiếp cận duy nhất để cải thiện tính nhất quán, khả năng bảo trì và hiệu suất.
Ví dụ:
Review the LINQ code used in the JsonData and JsonLoanRepository classes. Refactor the methods in the JsonPatronRepository class using LINQ queries. Ensure that existing code functionality is maintained.Agent có thể gọi nhiều công cụ để hoàn thành các nhiệm vụ khác nhau. Hoặc bạn có thể chọn biểu tượng Công cụ để đặt cấu hình công cụ nào có thể được sử dụng để phản hồi yêu cầu của bạn.
Xác nhận lệnh gọi công cụ và lệnh thiết bị đầu cuối.
Trước khi GitHub Copilot chạy lệnh đầu cuối hoặc công cụ không được tích hợp sẵn, nó yêu cầu xác nhận để tiếp tục. Cần xác nhận vì các công cụ có thể chạy cục bộ trên máy tính của bạn và thực hiện các hành động sửa đổi tệp hoặc dữ liệu.
GitHub Copilot phát hiện các vấn đề và sự cố trong các chỉnh sửa mã và lệnh đầu cuối, đồng thời sẽ lặp lại và thực hiện các hành động để giải quyết chúng.
Quan trọng
Mặc dù GitHub Copilot có khả năng tự chữa lành, nhưng không phải lúc nào nó cũng có thể tự giải quyết vấn đề. Bạn có thể tạm dừng quy trình và cung cấp thêm ngữ cảnh để giúp GitHub Copilot hiểu vấn đề. Bạn cũng có thể hủy bỏ quy trình và bắt đầu lại với lời nhắc mới.
Xem lại các chỉnh sửa được đề xuất và chấp nhận hoặc bỏ các chỉnh sửa được đề xuất.
Kiểm tra mã được tái c yếu tố của bạn để đảm bảo rằng mã đó sẽ tạo ra kết quả như mong đợi.
Tác nhân sẽ tự giải quyết các vấn đề, nhưng bạn vẫn nên kiểm tra mã để đảm bảo nó hoạt động như mong đợi.
Bạn có thể hoàn nguyên các chỉnh sửa do Tổng đài viên thực hiện bằng cách sử dụng nút Hoàn tác trong chế độ xem Trò chuyện. Bạn cũng có thể sử dụng tùy chọn Hoàn nguyên trong trình chỉnh sửa để hoàn nguyên các thay đổi do Tổng đài viên thực hiện.
Khi nào nên chọn Đại lý thay vì Gói
Hãy xem xét các tiêu chí sau để lựa chọn giữa Kế hoạch và Tổng đài viên:
- Lập kế hoạch: Kế hoạch tạo ra một kế hoạch triển khai có cấu trúc, từng bước trước khi viết bất kỳ mã nào. Tổng đài viên tự động xác định ngữ cảnh và tệp liên quan để chỉnh sửa và bắt đầu thực hiện các thay đổi trực tiếp.
- Độ phức tạp của nhiệm vụ: Tác nhân phù hợp hơn cho các tác vụ phức tạp yêu cầu cả chỉnh sửa mã và gọi các công cụ hoặc lệnh đầu cuối.
- Thời lượng: Tổng đài viên sử dụng nhiều bước để xử lý yêu cầu, vì vậy có thể mất nhiều thời gian hơn để tạo phản hồi. Ví dụ: để xác định ngữ cảnh và tệp liên quan cần chỉnh sửa, hãy xác định kế hoạch hành động và hơn thế nữa.
- Tự phục hồi: Tổng đài viên đánh giá kết quả của các chỉnh sửa được tạo ra và có thể lặp lại nhiều lần để giải quyết các vấn đề trung gian.
- Yêu cầu hạn mức: Khi bạn đang sử dụng chế độ Tổng đài viên, tùy thuộc vào mức độ phức tạp của nhiệm vụ, một lời nhắc có thể dẫn đến nhiều yêu cầu đến chương trình phụ trợ.
Tóm tắt
GitHub Copilot có thể được sử dụng để tái cấu trúc mã trong cơ sở mã của bạn. Bạn có thể sử dụng tác nhân chế độ xem Chat để phân tích, lập kế hoạch và triển khai các tác vụ tái cấu trúc mã. Chế độ xem Trò chuyện bao gồm ba tổng đài viên tích hợp: Hỏi, Gói và Tổng đài viên. Bạn có thể sử dụng Hỏi để đặt câu hỏi về cơ sở mã hoặc khái niệm công nghệ của mình. Bạn có thể sử dụng Plan để tạo kế hoạch triển khai có cấu trúc trước khi viết mã. Bạn có thể sử dụng Tổng đài viên để bắt đầu quy trình mã hóa tổng đài viên.