Czym jest GitHub Copilot i dlaczego warto go używać?
Wyobraź sobie, że masz kumpla/kumpelę programistkę, którzy zawsze są pod ręką, nigdy nie śpią, mają anielską cierpliwość do twoich pytań, każdego dnia uczą się czegoś nowego i znają najlepsze praktyki na pamięć. To właśnie może być GitHub Copilot.
GitHub Copilot to asystent programisty oparty na sztucznej inteligencji, stworzony przez GitHub i OpenAI. Analizując Twoje komentarze oraz kontekst kodu, oferuje sugestie w czasie rzeczywistym, co sprawia, że Twoja praca staje się szybsza i bardziej efektywna. Niezależnie od tego, czy walczysz z napiętymi terminami, czy chcesz uniknąć powtarzalnych zadań, Copilot oszczędza Twój czas i energię, pozwalając Ci skupić się na kreatywnym rozwiązywaniu problemów.
Praca z GitHub Copilot — praktyczne wskazówki
Twój asystent to tylko model językowy. Nie myśli, nie rozumie kodu ani twoich intencji. Został wytrenowany na miliardach przykładów i przewiduje ciągi znaków, które z dużym prawdopodobieństwem odpowiadają na twoje pytanie. Często trafia w punkt, ale bywa, że wygeneruje kompletny chłam. Dlatego warto pamiętać o kilku zasadach:
- To ty jesteś kapitanem tego statku, Copilot tylko pomaga.
Jego sugestie stają się coraz lepsze, gdy poznaje twój kod i „uczy się” twojego stylu, ale to ty decydujesz, co zaakceptować. Zawsze sprawdzaj, czy to, co zaproponował, ma sens i testuj zmiany, które wprowadził. Na końcu to ty odpowiadasz za kod. - Nie jest to narzędzie dla osób, które nie chcą się uczyć.
Copilot świetnie wspiera naukę: tłumaczy trudniejsze fragmenty kodu, generuje przykłady i pomaga pisać bardziej zwięźle. Ale jeśli nie rozumiesz, co robią jego odpowiedzi, może wpędzić cię w ślepy zaułek. Wykorzystuj go jako wsparcie w nauce, ale to ty musisz przyswoić wiedzę i rozumieć co robisz. - Copilot nie czyta ci w myślach.
Jeśli nie daje odpowiedzi, której oczekujesz, zastanów się, czy dobrze zadajesz pytanie. Podaj więcej kontekstu, wyjaśnij, co chcesz osiągnąć, i spróbuj ponownie. Komunikacja to umiejętność, którą warto rozwijać. - Pierwsza odpowiedź to tylko punkt wyjścia.
Copilot się nie nudzi ani nie frustruje. Jeśli wynik ci się nie podoba, dodaj więcej szczegółów, wskaż, co ma być poprawione, lub co chcesz zobaczyć. Daj feedback i wygeneruj wynik jeszcze raz. - Dziel zadania na mniejsze kroki.
Ponieważ Copilot nie rozumie twoich intencji tak, jak zrobiłby to człowiek, lepiej prowadzić go małymi krokami. Zamiast np. używać komendy /refactor na całym pliku, poproś o uproszczenie konkretnego fragmentu kodu i oceń wyniki przed przejściem do kolejnych. - Ufaj, ale sprawdzaj.
Przy takich poleceniach jak /refactor sprawdzaj dokładnie, co zostało zmienione, zanim zaakceptujesz zmiany. Pamiętaj też o testach. Przykład? Przy poleceniu „improve readability of the code” oczekiwałam, że Copilot poprawi formatowanie formularza HTML, a skończyło się na tym, że usunął kilka pól. 😅
Z Copilotem można po prostu “rozmawiać” pisząc mu jakie są twoje oczekiwania, w oknie czatu. Można otworzyć okno komendy bezpośrednio w pliku i kazać mu wygenerować kod inline, ale można też korzystać z “komend” Copilot.
Różnice między @, / i # w komendach Copilot
Podczas pracy z GitHub Copilot możesz natknąć się na polecenia i makra zaczynające się od @, / lub #. Każdy z tych prefiksów ma swoje unikalne zastosowanie, pomagając zorganizować sposób interakcji z Copilotem:
- @ – Odnosi się do akcji systemowych lub zasobów, takich jak interakcja z terminalem, przestrzenią roboczą lub repozytorium Git.
- Przykład: @terminal: Run tests otwiera terminal i uruchamia skrypt testowy. Używaj go do interakcji z narzędziami zewnętrznymi lub zasobami powiązanymi z Twoim środowiskiem kodowania.
- / – Aktywuje akcje związane z kodem, takie jak refaktoryzacja, naprawa błędów lub generowanie wyjaśnień. Te komendy są bezpośrednio związane z analizą i ulepszaniem kodu.
- Przykład: /refactor sugeruje ulepszenia w strukturze kodu.
- # – Odnosi się do operacji kontekstowych na kodzie, takich jak zaznaczanie określonych fragmentów, debugowanie lub automatyzacja zadań związanych z wybranymi sekcjami.
- Przykład: #select podświetla wszystkie wystąpienia konkretnej zmiennej w pliku.
Znajomość zastosowania tych prefiksów pomaga efektywnie korzystać z Copilot i organizować przepływ pracy.
Przydatne Makra i Komendy
Komenda | Opis |
/refactor | Automatycznie sugeruje lepsze sposoby strukturyzowania kodu. |
#select | Zaznacza określone elementy kodu, np. wszystkie zmienne globalne. |
@workspace | Wyszukuje lub modyfikuje pliki w całej przestrzeni roboczej projektu. |
/test | Generuje testy jednostkowe dla Twojego kodu. |
/fix | Proponuje poprawki dla błędów lub ostrzeżeń w kodzie. |
@terminal | Wykonuje polecenia terminalowe bezpośrednio z VS Code. |
/explain | Oferuje wyjaśnienia fragmentów kodu, aby były łatwiejsze do zrozumienia. |
#terminalLastCommand | Powtarza ostatnie wykonane polecenie terminalowe. Przydatne przy iteracyjnych zadaniach. |
/doc | Przydatne do generowania dokumentacji kodu. Można go używać do automatycznego tworzenia komentarzy dla funkcji, klas, czy metod, na podstawie ich struktury i kontekstu. |
Dlaczego warto korzystać z GitHub (lub innego) Copilot?
To nie jest kwestia wyboru. Jeśli nie idziesz na przód, to zostajesz w tyle. Szczególnie w świecie technologii.
Praca z narzędziami AI pozwala przyśpieszyć niektóre proste czynności i powtarzalne zadania.
Komunikowanie się za pomocą promptów, może pomóc ci poprawić sposób w jaki się komunikujesz. Komendy, które wydajesz sztucznej inteligencji muszą być klarowne, zawierać wystarczającą ilość kontekstu, żebyś otrzymała oczekiwany wynik i powinny być zwięzłe. Sama zabawa tymi narzędziami może ci pomóc w budowaniu skilsetu przyszłości.
Bonus
Nie wiem jak wy, ale ja nie znoszę pisać commit msg. Dobre wieści, Copilot może zrobić to za ciebie na kilka sposobów!
- W Visual Studio Code możesz użyc wbudowanego przycisku
- Użyj /doc lub /explain
Wprowadź polecenie jako komentarz, np.:
/doc Generate commit message for the changes in this file
lub
/explain Summarize these changes into a commit message
Copilot wygeneruje podpowiedź na podstawie zmian w plikach.
Praca to (nie) wyrok.
Ta książka to strzał w dziesiątkę, jeśli czujesz, że praca Cię męczy i chcesz coś zmienić. „Praca to (nie) wyrok” uczy, jak ogarnąć zespół, lepiej się komunikować i rozwijać siebie. Prosty język, konkretne rady, wciągająca fabuła.
