Uzupełnianie kodu za pomocą narzędzia GitHub Copilot

Zakończone

Funkcje uzupełniania kodu w usłudze GitHub Copilot działają bezpośrednio w środowisku IDE, gdzie piszesz i przeglądasz kod. Narzędzie GitHub Copilot bezproblemowo integruje się z edytorami, takimi jak Visual Studio Code lub JetBrains, oferując funkcje, takie jak autosuggestions, okienko sugestii i obsługa różnych stylów kodowania. Przede wszystkim wchodzisz w interakcję z usługą GitHub Copilot za pomocą tych narzędzi IDE oraz rozumiesz, jak i gdzie ich używać, ułatwiają optymalizowanie zaawansowanych możliwości generowania kodu.

W tej lekcji omówimy następujące zagadnienia:

  • Obsługiwane języki w narzędziu GitHub Copilot
  • Sugestie automatyczne
  • Okienko Wiele sugestii
  • Obsługa różnych stylów kodowania w sugestiach
  • Jak narzędzie GitHub Copilot zawiera komentarze kodowania pod kątem sugestii

Obsługiwane języki w narzędziu GitHub Copilot

Narzędzie GitHub Copilot zapewnia niezawodną obsługę szerokiego zakresu języków programowania i struktur z silnymi możliwościami w zakresie:

  • Python
  • JavaScript
  • Java
  • TypeScript
  • Ruby
  • Go
  • C#
  • C++

Chociaż te języki otrzymują wyjątkową pomoc techniczną, narzędzie GitHub Copilot może również pomóc w wielu innych językach i strukturach.

Wskazówka

GitHub Copilot oferuje bezpłatną wersję z 2000 autouzupełnień kodu i 50 wiadomości czatu miesięcznie. Aby rozpocząć, otwórz program Visual Studio Code, kliknij ikonę GitHub Copilot, a następnie kliknij pozycję "Zaloguj się, aby bezpłatnie użyć narzędzia GitHub Copilot". Zaloguj się do swojego konta usługi GitHub w oknie, które zostanie otwarte w przeglądarce. Dowiedz się więcej. Nauczyciele, uczniowie i wybrani współtwórcy open-source mogą bezpłatnie otrzymać Copilot Pro, dowiedz się, jak to zrobić: https://aka.ms/Copilot4Students.

Sugestie automatyczne

Copilot oferuje sugestie dotyczące kodu podczas wpisywania: czasami ukończenie bieżącego wiersza, a czasami sugerowanie zupełnie nowego bloku kodu. Możesz zaakceptować wszystkie, część lub zignorować sugestię. Ta możliwość zapewniania sugestii w czasie rzeczywistym, obsługujących kontekst pozwala zaoszczędzić cenny czas programowania, zmniejszając potrzebę wyszukiwania składni, rozwiązywania problemów z logiką lub wielokrotnego pisania typowych wzorców.

Zrzut ekranu przedstawiający przeźroczysty tekst automatycznego uzupełniania.

Okienko Wiele sugestii

Gdy pracujesz nad blokiem kodu, a narzędzie GitHub Copilot oferuje sugestię, zobaczysz szary fragment kodu. Aby poznać więcej opcji i przyspieszyć przepływ pracy, najedź kursorem na podpowiedź, aby wyświetlić panel sterowania GitHub Copilot. Ta funkcja pozwala szybko ocenić wiele podejść do tego samego problemu, pomagając wybrać najbardziej odpowiednie rozwiązanie dla określonego kontekstu.

Zrzut ekranu przedstawiający sugestie automatycznego uzupełniania jako widoczny tekst.

Kliknij przyciski strzałki do przodu lub do tyłu w panelu sterowania, aby wyświetlić następne lub poprzednie sugestie. Możesz również użyć skrótów klawiaturowych, aby szybko przechodzić przez opcje:

  • macOS: Opcja (⌥) lub Alt+] (dalej), Opcja (⌥) lub Alt+[ (poprzednia)
  • Windows lub Linux: Alt+] (dalej), Alt+[ (poprzedni)

Nagranie ekranu panelu sugestii.

Ta szybka iteracja za pośrednictwem wielu sugestii dotyczących kodu pomaga utrzymać tempo programowania, umożliwiając szybkie porównywanie podejść bez przerywania przepływu kodowania. Zamiast rozpoczynać od podstaw lub wyszukiwać przykłady w trybie online, możesz ocenić różne implementacje w ciągu kilku sekund, wybierając tę, która najlepiej odpowiada Twoim potrzebom i stylowi kodowania.

Chociaż narzędzie GitHub Copilot doskonale nadaje się do sugerowania kodu, pokazuje również jego zdolność do dostosowywania się za pomocą następujących sposobów:

  • Implementacja metody: po rozpoczęciu pisania nazwy metody copilot może sugerować całą implementację, postępując zgodnie z ustalonym stylem kodowania.
  • Konwencje nazewnictwa: pobiera on preferowane konwencje nazewnictwa zmiennych, funkcji i klas.
  • Formatowanie: Copilot dostosowuje się do stylu wcięcia, umieszczania nawiasów i innych preferencji formatowania.
  • Styl komentarza: może naśladować styl komentarza, niezależnie od tego, czy wolisz komentarze wbudowane, komentarze blokowe czy ciągi dokumentu.
  • Wzorce projektowe: gdy projekt konsekwentnie używa określonych wzorców projektowych, Copilot sugeruje kod, który jest zgodny z tymi wzorcami.

Używanie komentarzy do kodowania pod kątem sugestii

Kluczowym aspektem tej możliwości jest sposób, w jaki uwzględnia komentarze programistyczne, aby ulepszyć jego sugestie. W tej sekcji omówiono różne sposoby korzystania z funkcji uzupełniania kodu i generowania kodu w usłudze GitHub Copilot.

Opis kontekstu komentarza

Po zintegrowaniu z istniejącą bazą kodu narzędzie GitHub Copilot używa różnych aspektów kodu, aby udostępnić bardziej istotne sugestie, w tym komentarze do kodu. Deweloperzy często używają komentarzy, aby wyjaśnić intencję kodu i zwiększyć współpracę, a Copilot, jako asystent kodowania sztucznej inteligencji, używa tych komentarzy w taki sam sposób. Dzięki zrozumieniu intencji komentarzy copilot może zapewnić dokładniejsze i kontekstowe sugestie kodu za pomocą dwóch kluczowych procesów:

  • Przetwarzanie języka naturalnego: Copilot używa zaawansowanych technik przetwarzania języka naturalnego (NLP) do interpretowania znaczenia i intencji komentarzy w kodzie.
  • Analiza kontekstowa: analizuje komentarze w odniesieniu do otaczającego kodu, rozumie ich znaczenie i przeznaczenie w szerszym kontekście pliku lub projektu.

Typy komentarzy używanych

Copilot może współpracować z różnymi typami komentarzy, aby poinformować o swoich sugestiach:

  • Komentarze wbudowane: krótkie wyjaśnienia obok określonych wierszy kodu.
  • Blokuj komentarze: dłuższe wyjaśnienia, które mogą opisywać funkcję lub klasę.
  • Docstrings: formalne ciągi dokumentacji w językach takich jak Python.
  • Komentarze TODO: Uwagi dotyczące przyszłych implementacji lub ulepszeń.
  • Dokumentacja interfejsu API: komentarze opisujące użycie i parametry funkcji lub metod.

Generowanie kodu opartego na komentarzach

Copilot używa komentarzy na kilka sposobów do generowania i sugerowania kodu:

  • Implementacja funkcji: gdy funkcja jest opisana w komentarzach, Copilot może sugerować całą implementację na podstawie tego opisu.

    Zrzut ekranu przedstawiający tekst duchu uzupełniania kodu w wielu wierszach.

  • Uzupełnianie kodu: Copilot używa komentarzy w celu zapewnienia dokładniejszego uzupełniania kodu, zrozumienia intencji dewelopera.

    Zrzut ekranu przedstawiający tekst podpowiedzi automatycznego uzupełniania funkcji.

    W tym przykładzie mamy komentarz opisujący funkcję, aby odwrócić ciąg. Na podstawie tego komentarza copilot może sugerować implementację przy użyciu notacji wycinka języka Python z krokiem -1, który efektywnie odwraca ciąg.

  • Nazewnictwo zmiennych: Komentarze mogą mieć wpływ na sugestie Copilot dotyczące nazw zmiennych, dzięki czemu będą bardziej opisowe i kontekstowe.

    Zrzut ekranu przedstawiający tekst sugestii automatycznego uzupełniania nazwy zmiennej.

    W tym miejscu mamy komentarz opisujący listę ulubionych książek użytkownika. Copilot prawdopodobnie sugeruje opisowe nazwy zmiennych, które pasują do kontekstu. W tym przypadku zasugerowano "favorite_books" jako nazwę zmiennej, która wyraźnie opisuje zawartość listy.

  • Wybór algorytmu: gdy komentarze opisują określony algorytm lub podejście, Copilot może sugerować kod zgodny z tą metodą.

    Zrzut ekranu przedstawiający tekst sugerowany przy automatycznym uzupełnianiu algorytmu.

    W powyższym przykładzie udostępniamy komentarze, które przedstawiają kroki algorytmu sortowania bąbelków. Na podstawie tych komentarzy copilot prawdopodobnie sugeruje implementację, która ściśle wykonuje opisane kroki.