GitHub Copilot Chat

Ukończone

GitHub Copilot Chat to zaawansowana funkcja ekosystemu GitHub Copilot, zaprojektowana w celu zapewnienia deweloperom interaktywnego, konwersacyjnego asystenta sztucznej inteligencji bezpośrednio w środowisku deweloperskim. Umożliwia deweloperom prowadzenie konwersacji w języku naturalnym dotyczących kodu, zadawania pytań i odbierania inteligentnych odpowiedzi i sugestii w czasie rzeczywistym. W tej lekcji omówimy następujące zagadnienia:

  • Jak wygenerować kod przy użyciu funkcji GitHub Copilot Chat.
  • Debugowanie przy użyciu czatu Copilot w usłudze GitHub.
  • Jak uzyskać wyjaśnienia kodu przy użyciu funkcji GitHub Copilot Chat.
  • Używanie poleceń slash do wykonywania akcji za pomocą narzędzia GitHub Copilot.
  • Używanie niestandardowych agentów GitHub Copilot w celu ulepszenia monitów.

Aby uzyskać dostęp do aplikacji Copilot w zintegrowanym środowisku projektowym (IDE), kliknij ikonę czatu na lewym pasku nawigacyjnym.

Zrzut ekranu przedstawiający czat.

Czat Copilot w usłudze GitHub jest korzystny w niektórych scenariuszach:

  • Złożone generowanie kodu Gdy trzeba zaimplementować złożone algorytmy, struktury danych lub wygenerować standardowy kod dla określonych wzorców projektowych, copilot Chat może pomóc usprawnić proces. Może pomóc w tworzeniu skomplikowanych wyrażeń regularnych, konstruowaniu szczegółowych zapytań SQL lub tworzeniu zaawansowanych struktur danych, takich jak sortowanie bąbelkowe w języku Python.

    Zrzut ekranu przedstawiający generowanie kodu czatu.

  • Pomoc dotycząca debugowania Jeśli napotkasz błędy w kodzie, czat Copilot może być przydatny podczas analizowania komunikatów o błędach i sugerowania potencjalnych poprawek. Może pomóc zidentyfikować błędy logiczne i przedstawić szczegółowe wyjaśnienia problematycznych sekcji kodu. Jednym ze sposobów osiągnięcia tego wyniku jest użycie wbudowanego czatu Copilot przez wyróżnienie fragmentu kodu zawierającego błąd, kliknięcie prawym przyciskiem myszy i wybranie copilot, a następnie wbudowany czat.

    Zrzut ekranu przedstawiający debugowanie czatu z kodem wyboru.

    Możesz na przykład zapytać: "Otrzymuję wartość NullReferenceException w tej metodzie. Czy możesz mi pomóc z debugowaniem?

    Zrzut ekranu z generowania kodu do debugowania czatu.

  • Objaśnienia kodu Copilot Chat mogą również służyć do lepszego zrozumienia złożonych fragmentów kodu. Może on podzielić kod na prostsze terminy, wyjaśnić cel i funkcjonalność nieznanego kodu oraz oferować wgląd w najlepsze rozwiązania i potencjalne optymalizacje. Możesz na przykład zapytać: - "Czy można wyjaśnić, jak działa ten kod asynchroniczny/await w języku Python?"

    Zrzut ekranu przedstawiający wyjaśnienia kodu czatu.

Jak ulepszyć odpowiedzi czatu w usłudze GitHub Copilot

Możesz znacznie poprawić jakość i trafność odpowiedzi czatu GitHub Copilot za pomocą pewnych kluczowych funkcji. Przyjrzyjmy się im.

Referencje do zakresu

Aby zwiększyć dokładność i znaczenie odpowiedzi dostarczonych przez czat copilot w usłudze GitHub, ważne jest prawidłowe określenie zakresu pytań przy użyciu odwołań. Oto, jak możesz tego dokonać:

  • Odwołania do pliku: Możesz określić określony plik w pytaniu, dodając element #file: przed nazwą pliku.

    Zrzut ekranu przedstawiający plik zakresu czatu odwołującego się do wyboru.

    Jeśli na przykład pracujesz z plikiem o nazwie controller.js, możesz użyć polecenia #file, aby go wybrać i odwołać się bezpośrednio do pytania jako #file:controller.js. Ta funkcja informuje Copilot Chat, aby skupić się na zawartości tego pliku podczas generowania odpowiedzi.

    Zrzut ekranu przedstawiający odwołanie do pliku zakresu czatu.

  • Odwołania do środowiska: możesz korzystać z funkcji Copilot Chat w połączeniu z terminalem, aby uzyskać pomoc na podstawie wyników poleceń. Dzięki temu copilot może pomóc w debugowaniu i przekazać sugestie na podstawie tego, co dzieje się w terminalu. Na przykład pytanie "@terminal jak rozwiązać ten błąd?" Umożliwia Copilotowi analizowanie danych wyjściowych terminalu i sugerowanie odpowiednich rozwiązań.

Polecenia ukośnika (slash commands)

Polecenia Slash w usłudze GitHub Copilot Chat umożliwiają szybkie określenie intencji zapytania. Może to znacznie poprawić jakość otrzymywanych odpowiedzi, wysyłając żądania bardziej skoncentrowane. Poniżej przedstawiono niektóre często używane komendy ukośnikowe:

  • /doc: Dodaje komentarze do określonego lub wybranego kodu. Na przykład możesz wpisać /doc, a następnie kod, który chcesz udokumentować, a Copilot wygeneruje odpowiednie komentarze.

    Zrzut ekranu /doc komend slash.

  • /explain: Zawiera wyjaśnienia dla wybranego kodu. To polecenie jest przydatne, gdy musisz zrozumieć, co robi konkretny fragment kodu. Na przykład /explain the #file:controller.js zawiera szczegółowe wyjaśnienie tego pliku.

    Zrzut ekranu przedstawiający polecenia /explain slash.

  • /fix: proponuje poprawki problemów w wybranym kodzie. Jeśli masz problemy, możesz wyróżnić problematyczną sekcję i użyć polecenia /fix , aby otrzymywać sugestie dotyczące rozwiązywania problemu.

    Zrzut ekranu przedstawiający polecenia /fix slash.

  • /generate: Pomaga w generowaniu nowego kodu na podstawie wymagań. Na przykład /generate code to find the root of a number in client.js tworzy funkcję do wykonania zadania.

    Zrzut ekranu przedstawiający polecenia /generate slash.

  • /optimize: Analizuje i sugeruje ulepszenia czasu działania lub wydajności wybranego kodu. Na przykład /optimize the funkcja calculate method in controller.js koncentruje się na zwiększaniu wydajności tej konkretnej metody.

    Zrzut ekranu przedstawiający polecenia /optimize slash.

  • /tests: Automatycznie tworzy testy jednostkowe dla wybranego kodu. Możesz po prostu wyróżnić kod i użyć go /tests using Mocha do generowania testów.

    Zrzut ekranu poleceń ukośnikowych /tests.

Wybór modelu i funkcje premium

Usługa GitHub Copilot Chat oferuje różne modele sztucznej inteligencji w celu zoptymalizowania przepływu pracy programowania. Niektóre środowiska udostępniają opcje wyboru modelu, które umożliwiają wybór różnych poziomów możliwości na podstawie określonych potrzeb:

Modele standardowe (GPT-4o):

  • Zapewnianie szybkich, niezawodnych odpowiedzi dla większości zadań programistycznych
  • Zużycie 1 jednostki PRU na każde żądanie
  • Idealne rozwiązanie do rutynowej pomocy w programowaniu, wyjaśnień kodu i podstawowego debugowania
  • Przykłady: proste generowanie funkcji, pomoc składniowa, podstawowe sugestie dotyczące refaktoryzacji

Modele Premium (o1-preview, o1-mini):

  • Oferuje rozszerzone możliwości rozumowania dla złożonych problemów
  • Pobierz 2 PRUs na żądanie (dwukrotnie standardowa stawka)
  • Lepiej nadaje się do zaawansowanej analizy, złożonych algorytmów i decyzji dotyczących architektury
  • Przykłady: Zaawansowane debugowanie kodu wielowątkowego, złożone projektowanie algorytmów, analiza zabezpieczeń

Podczas pracy nad trudnymi problemami, które wymagają głębokiego rozumowania, modele w warstwie Premium mogą zapewnić bardziej szczegółową analizę i kompleksowe rozwiązania. Należy jednak wziąć pod uwagę użycie jednostek przetwarzania (PRU) podczas wybierania modeli do różnych typów zadań.

Agenci Copilot

Agenci GitHub Copilot to niestandardowe narzędzia, które można tworzyć i integrować z usługą GitHub Copilot Chat, aby zapewnić dodatkowe funkcje dostosowane do konkretnych potrzeb. Oprócz poleceń ukośnikowych można używać określonych agentów w narzędziu Copilot Chat w IDE do realizacji różnych zadań.

Możesz również użyć akcji inteligentnej "/new", aby wygenerować zupełnie nowy projekt od podstaw na podstawie wymagań. Możesz na przykład wyświetlić monit Copilot o utworzenie nowego projektu za pomocą polecenia:

/new generate a new HTML file with pages and JavaScript for advanced calculations

Kliknij "Utwórz obszar roboczy", aby przystąpić do generowania kodu, a w mgnieniu oka otrzymasz nowy projekt z żądanym kodem.

  • @terminal: Ten agent jest przydatny w przypadku pytań związanych z wierszem polecenia. Możesz na przykład poprosić go o znalezienie największego pliku w katalogu lub wyjaśnienie ostatniego uruchomionego polecenia.

    Zrzut ekranu przedstawiający polecenie agenta

  • @vscode: ten agent umożliwia zadawanie pytań związanych z programem Visual Studio Code, takich jak debugowanie lub zmienianie ustawień w środowisku IDE.

    Zrzut ekranu przedstawiający polecenie agenta

    Efektywnie korzystając z tych narzędzi i technik, możesz znacznie poprawić jakość odpowiedzi otrzymywanych z usługi GitHub Copilot Chat, dzięki czemu środowisko kodowania jest wydajniejsze i wydajne.

Udostępnianie opinii na temat czatu Copilot w usłudze GitHub

Większość środowiska IDE z integracją aplikacji Copilot Chat ma wbudowane mechanizmy przesyłania opinii. Na przykład w programie Visual Studio Code opcje opinii można znaleźć na początku sugestii czatu Copilot w usłudze GitHub. Umieść kursor na sugestii i powinny zostać wyświetlone przyciski "kciuki w górę" i "kciuki w dół".

Zrzut ekranu z przyciskami „kciuk w górę”, które są pomocne.

Kliknij kciuki w górę, aby ocenić sugestię jako pomocną.

Zrzut ekranu przedstawiający kciuki w dół jako nieprzydatne.

Kliknij kciuki w dół, aby ocenić nieprzydatne.