Đã áp dụng kỹ thuật GitHub Copilot

Đã hoàn thành

Trong các đơn vị trước, chúng tôi đã chỉ ra cách thiết lập Copilot và đề cập đến cách nó có thể giúp bạn nhanh hơn khi nhà phát triển bắt đầu viết mã.

Trong đơn vị này, chúng ta hãy thảo luận làm thế nào Copilot có thể giúp bạn với các dự án hiện có và giúp bạn với các nhiệm vụ phức tạp hơn.

Các tác vụ nâng cao với GitHub Copilot

Điều này thường xảy ra khi làm việc với một dự án hiện có với tư cách là kỹ sư. Khi sửa mã hoặc triển khai các tính năng, chúng ta cần viết tài liệu và kiểm tra và làm việc với các lệnh thiết bị đầu cuối. Hãy đi qua một số cách bạn có thể thực hiện điều này bằng cách sử dụng GitHub Copilot.

Lời nhắc ngầm

Mặc dù bạn có thể cụ thể trong lời nhắc để nhận hướng dẫn GitHub Copilot, bạn có thể tận dụng lợi thế của các tính năng ngầm cung cấp lời nhắc được tạo sẵn để có được câu trả lời tốt.

Ví dụ: nếu bạn đang làm việc trên một dự án Python và bạn đang mở một tệp với mã sau có lỗi trong đó:

with open("file.txt", "r") as file:
    # Read the file and print the content
    contents = file.read

Sau khi chọn mã và sử dụng Ctrl+i trên Windows hoặc Command+i trên máy Mac, bạn có thể yêu cầu GitHub Copilot giúp bạn khắc phục mã bằng cách sử dụng trò chuyện tại chỗ và lệnh gạch chéo /fix.

Nếu bạn chỉ gõ , /fixbạn có thể nhận được phản hồi từ GitHub Copilot tương tự như đề xuất này: "Để sửa mã, tôi sẽ thêm dấu ngoặc đơn sau file.read để gọi phương thức read và sửa lỗi chính tả trong tên phương thức."

Các lệnh gạch chéo có thể được sử dụng cho cả trong trò chuyện nội tuyến và giao diện trò chuyện. Ngoài /fix lệnh, đây là một số lệnh gạch chéo hữu ích nhất mà bạn có thể sử dụng trong cuộc trò chuyện Copilot:

  • /doc: Thêm nhận xét vào mã được chỉ định hoặc đã chọn.
  • /explain: Nhận giải thích về mã.
  • /generate: Tạo mã để trả lời câu hỏi được chỉ định.
  • /help: Nhận trợ giúp về cách sử dụng trò chuyện Copilot.
  • /optimize: Phân tích và cải thiện thời gian chạy của mã đã chọn.
  • /tests: Tạo kiểm thử đơn vị cho mã đã chọn.

Sử dụng lệnh dấu sổ chéo cho phép tương tác dễ dàng hơn với GitHub Copilot và giúp bạn nhận được phản hồi tốt hơn mà không cần phải viết lời nhắc dài hơn.

Kết hợp các tính năng như lệnh sổ chéo với trò chuyện tại chỗ cho phép bạn chọn cách hoạt động tốt nhất cho bạn và mã bạn đang làm việc.

Ngữ cảnh chọn lọc

Có thể tùy chỉnh GitHub Copilot để cung cấp đề xuất dựa trên ngữ cảnh bạn đang làm việc. Ví dụ: bạn có thể yêu cầu GitHub Copilot cung cấp đề xuất dựa trên toàn bộ không gian làm việc hoặc đầu ra thiết bị đầu cuối.

GitHub Copilot có thể cung cấp cho bạn một đề xuất chính xác cho dự án của bạn mà không đòi hỏi bạn phải mở nhiều tập tin. Hãy tưởng tượng bạn cần đóng gói dự án của mình bằng Dockerfile. Tệp Dockerfile là một tệp đặc biệt cần có hướng dẫn cụ thể để đóng gói dự án của bạn. Bạn có thể sử dụng tác @workspace nhân để hỏi GitHub Copilot cách giúp bạn. Ví dụ: mở GitHub Copilot Chat và nhập lệnh sau:

@workspace I need to create a Dockerfile for this project, can you generate one that will help me package it?

Bạn sẽ nhận được phản hồi giải thích về các bước tạo Dockerfile cho dự án của mình, cùng với một số giải thích về việc các bước trong tệp sẽ thực hiện.

Như thường lệ, nếu các đề xuất không chính xác là nội dung bạn đang tìm kiếm, bạn có thể đọc lại lời nhắc và cụ thể hơn. Ví dụ: bạn có thể yêu cầu GitHub Copilot sử dụng một bước cụ thể khi tạo Dockerfile:

@workspace help me create a Dockerfile to package this project but make sure you are using a Virtual Environment for Python.

Ngoài tác @workspace nhân, bạn có thể sử dụng các tác nhân khác như @terminal, và @directory@fileđể nhận các đề xuất theo ngữ cảnh cụ thể:

  • @terminal: Cung cấp các đề xuất dựa trên đầu ra của thiết bị đầu cuối.
    • Ví dụ: @terminal Làm cách nào để khắc phục thông báo lỗi mà tôi đang thấy?
  • @file: Tập trung vào nội dung của một tệp cụ thể.
    • Ví dụ: @file Bạn có thể giúp tôi tái cấu trúc chức năng này trong main.py không?
  • @directory: Xem xét nội dung của một thư mục cụ thể.
    • Ví dụ: @directory Làm thế nào để tối ưu hóa các tập lệnh trong thư mục utils?

Nếu bạn gặp sự cố hoặc không nhận được kết quả mong muốn, bạn có thể từ lại lời nhắc hoặc bắt đầu viết mã để Copilot tự động hoàn tất.

Ghi

Mặc dù bạn có thể được cụ thể với @workspace, theo mặc định GitHub Copilot sử dụng các tập tin mở trong trình soạn thảo văn bản của bạn như ngữ cảnh bổ sung.