Badanie najlepszych rozwiązań dotyczących GitHub Copilot
GitHub Copilot dla Visual Studio Code pomaga deweloperom pisać kod szybciej i z mniejszą liczbą błędów.
Jednak GitHub Copilot jest parą programistyczną AI, a nie samodzielnym programistą. Aby jak najlepiej wykorzystać GitHub Copilot, należy postępować zgodnie z najlepszymi rozwiązaniami.
Wybieranie odpowiedniego narzędzia GitHub Copilot dla zadania
Chociaż funkcje uzupełniania kodu GitHub Copilot i funkcje czatu GitHub Copilot współużytkują pewne funkcje, dwa narzędzia są najlepiej używane w różnych okolicznościach.
Uzupełnianie kodu zapewnia największą wartość, kiedy jest używane do:
- Ukończ fragmenty kodu, nazwy zmiennych i funkcje podczas ich pisania.
- Generowanie powtarzalnego kodu.
- Generowanie kodu na podstawie komentarzy wbudowanych w języku naturalnym.
- Generowanie testów na potrzeby programowania opartego na testach.
Alternatywnie funkcje czatu GitHub Copilot zapewniają największą wartość, gdy są używane do:
- Odpowiedz na pytania dotyczące kodu w języku naturalnym.
- Wygeneruj duże sekcje kodu, a następnie iteruj go zgodnie z potrzebami.
- Wykonuj określone zadania przy użyciu uczestników czatu, poleceń z ukośnikiem i zmiennych czatu. Uczestnicy czatu (na przykład
@vscodelub@terminal) ustawiają kontekst żądania, polecenia ukośnika (takie jak/explainlub/fix) komunikują intencję, a zmienne czatu (takie jak#filelub#codebase) koncentrują Copilot na określonym kontekście. Różni uczestnicy i polecenia są dostępne na różnych platformach usługi GitHub Copilot Chat. - Wykonaj zadanie jako konkretną osobę. Możesz na przykład poinformować usługę GitHub Copilot Chat, że jest to starszy deweloper języka C++, który bardzo dba o jakość kodu, czytelność i wydajność. Po ustanowieniu osoby możesz poprosić GitHub Copilot o przejrzenie kodu.
Jak najlepiej wykorzystać sugestie wbudowane GitHub Copilot
GitHub Copilot automatycznie przedstawia sugestie ułatwiające wydajniej kodować. GitHub Copilot zapewnia lepsze sugestie podczas wykonywania określonych akcji i zachowań. Możesz już obserwować niektóre z tych akcji i zachowań, ponieważ ułatwiają one również tobie i współpracownikom zrozumienie kodu.
Podaj kontekst dla GitHub Copilot
GitHub Copilot działa najlepiej, gdy ma wystarczający kontekst, aby wiedzieć, co robisz i z czym chcesz uzyskać pomoc. Podobnie jak podajesz współpracownikowi odpowiedni kontekst podczas proszenia o pomoc, musisz zapewnić GitHub Copilot kontekst.
Otwieranie plików
W przypadku uzupełniania kodu GitHub Copilot przygląda się plikom otwartym w edytorze, aby określić kontekst i stworzyć adekwatne sugestie. Otwieranie powiązanych plików w Visual Studio Code podczas korzystania z GitHub Copilot pomaga zdefiniować kontekst i pozwala GitHub Copilot zobaczyć większy obraz projektu.
Komentarz najwyższego poziomu
Podobnie jak w przypadku krótkiego, wysokiego poziomu wprowadzenia do współpracownika, komentarz najwyższego poziomu w pliku kodu może pomóc GitHub Copilot zrozumieć ogólny kontekst tworzonego kodu.
Odpowiednie dołączenia i odwołania
Najlepiej ręcznie ustawić odwołania dołączania lub modułu potrzebne do pracy. GitHub Copilot może zawierać sugestie, ale ty prawdopodobnie wiesz najlepiej, jakie zależności należy uwzględniać. Może to również informować GitHub Copilot o strukturach, bibliotekach i ich wersjach, których chcesz użyć podczas tworzenia sugestii.
Opisowe nazwy funkcji
Podobnie jak metoda o nazwie fetchData() nie będzie oznaczać zbyt wiele dla współpracownika (ani dla ciebie po kilku miesiącach), metoda fetchData() nie pomoże GitHub Copilot zrozumieć twojego kodu. Użycie znaczących nazw funkcji ułatwia GitHub Copilot generowanie sugestii, które robią to, co chcesz.
Komentarze dotyczące określonych i dobrze określonych funkcji
Nazwa funkcji może być opisowa, ale nie zbyt długa. Komentarze dotyczące funkcji mogą pomóc w wypełnieniu szczegółów, których GitHub Copilot może potrzebować.
GitHub Copilot Prime z przykładowym kodem
Jednym z wskazówek, aby uzyskać GitHub Copilot po prawej stronie, jest skopiowanie i wklejenie pożądanych przykładów kodu na otwartej karcie edytora. Przykład powinien reprezentować kod, który ma GitHub Copilot emulować. Podanie przykładu może pomóc GitHub Copilot w generowaniu sugestii pasujących do języka i zadań, które ma emulować. Gdy GitHub Copilot pomoże Ci utworzyć kod zgodny z twoim celem, możesz usunąć przykładowy kod. Takie podejście jest szczególnie przydatne, gdy trzeba "trenować" GitHub Copilot. Załóżmy na przykład, że GitHub Copilot domyślnie sugeruje fragmenty kodu, które implementują starszą wersję biblioteki. Możesz wstawić kod do projektu, który używa najnowszej wersji biblioteki. Pomaga to GitHub Copilot rozpocząć sugerowanie fragmentów kodu korzystających z najnowszej wersji biblioteki. Gdy GitHub Copilot nauczy się używać nowej wersji biblioteki, możesz usunąć przykładowy kod.
Bądź spójny i zachowaj wysoki poziom jakości
GitHub Copilot zostanie zatrzaśnięty do twojego kodu, aby wygenerować sugestie, które są zgodne z istniejącym wzorcem, więc ma zastosowanie powiedzenie "śmieci na wejściu, śmieci na wyjściu".
Zawsze utrzymywanie wysokich standardów jakości może wymagać dyscypliny. Zwłaszcza, gdy kodujesz szybko i luźno, aby coś działało. Możesz wyłączyć uzupełnianie przez GitHub Copilot w trybie "hakowania". Możesz tymczasowo wyłączyć uzupełnianie z menu statusu GitHub Copilot (dostępne z paska stanu Visual Studio Code).
Jak najlepiej wykorzystać Copilot Chat usługi GitHub
Jeśli używasz funkcji czatu GitHub Copilot, możesz wykonać kilka czynności, aby zoptymalizować środowisko pracy.
Rozpocznij ogólne, a następnie uzyskaj szczegółowe informacje
Podczas pisania podpowiedzi dla GitHub Copilot, najpierw przedstaw GitHub Copilot szeroki opis celu lub scenariusza. Następnie wyświetl listę określonych wymagań. Rozważ następujące polecenia:
- Napisz funkcję, która informuje mnie, czy liczba jest liczbą pierwszą.
- Funkcja powinna przyjmować liczbę całkowitą i zwracać wartość true, jeśli liczba całkowita jest liczbą główną.
- Funkcja powinna zgłosić błąd, jeśli dane wejściowe nie są dodatnią liczbą całkowitą.
Podaj przykłady
Skorzystaj z przykładów, aby GitHub Copilot zrozumiał, co chcesz. Możesz podać przykładowe dane wejściowe, przykładowe dane wyjściowe i przykładowe implementacje.
Podział złożonych zadań na prostsze zadania
Jeśli chcesz, aby GitHub Copilot wykonał złożone zadanie lub takie o dużej skali, podziel je na wiele prostych, mniejszych zadań. Na przykład zamiast prosić GitHub Copilot o wygenerowanie zagadki wyszukiwania słów, podzielenie procesu na mniejsze zadania i poproś GitHub Copilot o ich wykonanie jeden po drugim:
- Napisz funkcję, aby wygenerować 10 na 10 siatkę liter.
- Napisz funkcję, aby znaleźć wszystkie wyrazy w siatce liter, biorąc pod uwagę listę prawidłowych wyrazów.
- Napisz funkcję, która używa poprzednich funkcji do wygenerowania 10 przez 10 siatki liter, która zawiera co najmniej 10 wyrazów.
- Zaktualizuj poprzednią funkcję, aby wydrukować siatkę liter i 10 losowych wyrazów z siatki.
Unikaj niejednoznaczności
Unikaj niejednoznacznych terminów. Na przykład nie pytaj "co to robi", gdy może to być bieżący plik, ostatnia odpowiedź GitHub Copilot lub określony blok kodu. Zamiast używać niejednoznacznych terminów, należy określić: Co robi funkcja createUser?
Wskazywanie odpowiedniego kodu
Jeśli używasz czatu GitHub Copilot w środowisku IDE, otwórz pliki lub wyróżnij kod, do którego chcesz GitHub Copilot odwołać się. Użyj uczestników czatu, poleceń ukośnika i zmiennych czatu w monitach, aby zdefiniować kontekst. Na przykład określ, do których plików ma odwoływać się Copilot Chat GitHub.
Użyj uczestników czatu, poleceń ukośnika i zmiennych czatu
Uczestnicy czatu mają na celu zebranie dodatkowego kontekstu dotyczącego bazy kodu lub określonej domeny lub technologii. Gdy określisz odpowiedniego uczestnika, GitHub Copilot Chat może znaleźć i udostępnić lepsze informacje do wysłania do backendu GitHub Copilot. Na przykład użyj @vscode podczas zadawania pytań dotyczących Visual Studio Code funkcji i interfejsów API.
Polecenia Slash ułatwiają usłudze GitHub Copilot Chat zrozumienie intencji podczas zadawania pytania. Czy uczysz się bazy kodu (/explain), czy potrzebujesz pomocy przy rozwiązywaniu problemu (/fix), czy tworzysz przypadki testowe (/tests)? Pozwalając usłudze GitHub Copilot Chat wiedzieć, co próbujesz zrobić, może dostosować swoją odpowiedź do zadania i udostępnić przydatne polecenia, ustawienia i fragmenty kodu.
Uczestnicy czatu, tacy jak @terminal lub @vscode, mogą współtworzyć zmienne czatu, które zapewniają kontekst specyficzny dla domeny. Możesz odwołać się do zmiennej czatu w wierszu polecenia czatu, używając symbolu # . Możesz użyć zmiennych czatu, aby bardziej szczegółowo określić kontekst swojego polecenia.
Na przykład zmienna czatu #file umożliwia odwołowanie się do określonych plików z obszaru roboczego w wierszu polecenia czatu. Pomaga to uzyskać odpowiedzi z witryny GitHub Copilot Chat bardziej istotne dla kodu, udostępniając kontekst dotyczący pliku, z którym pracujesz. Możesz zadawać pytania, takie jak "Can you suggest improvements to #file:package.json?" lub "How do I add an extension in #file:devcontainer.json?". Użycie zmiennej #file może pomóc uzyskać bardziej ukierunkowane i dokładne odpowiedzi z GitHub Copilot.
Eksperymentowanie i iterowanie
Jeśli nie otrzymasz żądanego wyniku, wykonaj iterację po wyświetleniu monitu i spróbuj ponownie. Odwołuj się do poprzedniej odpowiedzi w następnym żądaniu. Możesz również usunąć poprzednią odpowiedź i zacząć od nowa.
Utrzymuj historię aktualną
Usługa GitHub Copilot Chat używa historii czatów, aby uzyskać kontekst dotyczący żądania. Aby upewnić się, że GitHub Copilot używa odpowiedniej historii czatów:
- Użyj wątków, aby rozpocząć nową konwersację dla nowego zadania.
- Usuń żądania, które nie są już istotne lub które nie dają żądanego wyniku.
Postępuj zgodnie z dobrymi praktykami w zakresie kodowania
Jeśli nie otrzymujesz odpowiedzi, które chcesz uzyskać, gdy pytasz GitHub Copilot o sugestie, upewnij się, że istniejący kod jest zgodny z najlepszymi rozwiązaniami i jest łatwy do odczytania. Na przykład:
- Użyj spójnego stylu kodu i wzorców.
- Użyj nazw opisowych dla zmiennych i funkcji.
- Komentuj swój kod.
- Strukturuj kod w modułowych komponentach o określonym zakresie.
- Uwzględnij testy jednostkowe.
Podsumowanie
GitHub Copilot to zaawansowane narzędzie, które ułatwia szybsze pisanie kodu i przy mniejszej liczbie błędów. Jednak aby jak najlepiej wykorzystać GitHub Copilot, należy postępować zgodnie z najlepszymi rozwiązaniami. Wybierając odpowiednie narzędzie GitHub Copilot dla zadania, dostarczając kontekst i postępując zgodnie z dobrymi praktykami programistycznymi, możesz zoptymalizować swoje doświadczenie z GitHub Copilot.