Zapoznaj się z wbudowanym czatem w usłudze GitHub Copilot, inteligentnymi akcjami i szybkim czatem
Oprócz widoku rozmowy, GitHub Copilot Chat oferuje kilka innych sposobów interakcji z parą programującą AI. Obejmują one czat wbudowany, inteligentne akcje i szybki czat.
Czat wbudowany
Jedną z kluczowych funkcji czatu w usłudze GitHub jest odpowiadanie na pytania wbudowane podczas kodowania. Dzięki temu możesz wykorzystać możliwości sztucznej inteligencji bezpośrednio w edytorze kodu z minimalnymi przerwami w przepływie pracy programowania.
Funkcja czatu wbudowanego jest dostępna tylko wtedy, gdy plik jest otwarty w edytorze. Istnieje kilka sposobów otwierania wbudowanej sesji czatu:
- Wybierz pozycję Czat wbudowany edytora z menu Czat copilot.
- Użyj skrótu klawiaturowego: Ctrl+I.
- Kliknij prawym przyciskiem myszy w edytorze kodu, wybierz pozycję Copilot z menu kontekstowego, a następnie wybierz pozycję Edytor Wbudowany czat.
Możesz użyć wbudowanej sesji czatu, aby zadawać Copilotowi pytania podczas tworzenia lub iterowania kodu.
Po otwarciu wbudowanej sesji czatu w Edytorze zostanie wyświetlony następujący interfejs.
Rozważmy następujący scenariusz:
- Tworzysz aplikację w języku C#, która przetwarza listę liczbową. Dane są przetwarzane w partiach 100.
- Poniższy fragment kodu służy do tworzenia listy 100 losowych liczb całkowitych z zakresu od 1 do 1000, których można użyć do testowania.
// create a list of 100 random number between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
for (int i = 0; i < 100; i++)
{
numbers.Add(random.Next(1, 1000));
}
Kod działa poprawnie. Co jednak zrobić, jeśli wymagania się zmienią? Co zrobić, jeśli musisz upewnić się, że lista nie zawiera żadnych zduplikowanych liczb?
Aby zaktualizować kod przy użyciu autouzupełnień narzędzia GitHub Copilot, należy wykonać następujące kroki:
- Usuń istniejący kod.
- Utwórz nowy komentarz, który odzwierciedla zaktualizowane wymaganie.
- Użyj narzędzia GitHub Copilot, aby wygenerować nowy fragment kodu ze zaktualizowanego komentarza.
- Przejrzyj sugestie i wybierz najlepszą opcję.
Na szczęście nie jest to konieczne. Lepszym rozwiązaniem jest użycie funkcji GitHub Copilot Chat w celu zaproponowania wymaganych aktualizacji kodu.
Możesz użyć wbudowanej sesji czatu, aby zasugerować aktualizację kodu w następujący sposób:
- Wyróżnij fragment kodu, który chcesz zaktualizować.
- Naciśnij
Ctrl+I, aby otworzyć czat wbudowany. - Zapytaj czat w usłudze GitHub Copilot, jak ukończyć aktualizację.
- Przejrzyj sugestie i wybierz najlepszą opcję.
W takim przypadku możesz zapytać: Update this code to ensure that numbers doesn't include any duplicates
Jeśli chcesz zaktualizować proponowany kod, możesz wybrać pozycję Akceptuj i kontynuuj kodowanie.
Jeśli nie lubisz proponowanych aktualizacji, możesz poprosić Copilot Chat o wygenerowanie innej sugestii, wybierając ikonę Uruchom ponownie... . Ikona Ponowne uruchamianie jest wyświetlana jako okrągła strzałka wyświetlana poniżej pola tekstowego monitu.
Jeśli ponownie uruchomisz monit i nadal nie uzyskasz potrzebnych wyników, spróbuj zaktualizować monit z dodatkowym kontekstem. Copilot Chat generuje lepsze sugestie, gdy monit jest jasny, zwięzły i dokładny. Możesz wybrać pozycję Odrzuć , aby zamknąć czat wbudowany bez wprowadzania żadnych zmian.
Akcje inteligentne
Niektóre zadania są tak powszechne, że można je zautomatyzować. Funkcja GitHub Copilot Chat obejmuje inteligentne akcje, które umożliwiają wykonywanie określonych zadań bez konieczności pisania monitu. Akcje inteligentne to wstępnie zdefiniowane akcje, które można uruchamiać bezpośrednio z edytora programu Visual Studio Code w celu szybkiego i łatwego wykonywania typowych zadań kodowania.
Dostępne są następujące akcje inteligentne:
-
Wyjaśnienie: Akcja
Explaingeneruje opis języka naturalnego wybranego kodu. Może to być przydatne do zrozumienia przeznaczenia i funkcjonalności fragmentu kodu. TaExplainakcja jest szczególnie przydatna, jeśli pracujesz z nieznanym kodem lub musisz wyjaśnić kod innym osobom. -
Poprawka: akcja
Fixsugeruje poprawkę wybranego kodu. Może to być przydatne, jeśli wystąpi błąd lub problem w kodzie i potrzebujesz wskazówek dotyczących sposobu jego rozwiązania. Copilot Chat może sugerować zmiany zmiennych, struktur sterujących lub wywołań funkcji, które mogą rozwiązać problem. -
Recenzja i komentarz: Akcja
Review and Commentzawiera przegląd kodu wybranego kodu. Może to być przydatne do identyfikowania potencjalnych problemów, poprawy jakości kodu i zapewniania, że są przestrzegane najlepsze rozwiązania. AkcjaReview and Commentmoże pomóc w zidentyfikowaniu usterek, wąskich gardeł wydajności i luk w zabezpieczeniach w kodzie. -
Generuj dokumentację: akcja
Generate Docstworzy dokumentację dla wybranego kodu. Może to być przydatne w przypadku dokumentowania bazy kodu, zwłaszcza jeśli pracujesz nad projektem z wieloma współautorami lub musisz udostępnić kod innym osobom. -
Generuj testy: akcja
Generate Teststworzy testy jednostkowe dla wybranego kodu. Może to być pomocne w zapewnieniu poprawności i niezawodności kodu, zwłaszcza jeśli pracujesz nad projektem ze złożoną logiką lub funkcją krytyczną.
Aby uzyskać dostęp do akcji inteligentnych, kliknij prawym przyciskiem myszy fragment kodu w edytorze i wybierz odpowiednią akcję z menu kontekstowego Copilot.
Po raz kolejny rozważmy aplikację numerów pierwszych.
W poprzedniej sekcji czat wbudowany zasugerował następujący kod, aby upewnić się, że numbers nie zawiera żadnych duplikatów:
// create a list of 100 random numbers between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
Mimo że ten kod zapewnia kolekcję unikatowych elementów, mogą istnieć możliwości poprawy.
Możesz użyć akcji Przejrzyj tę inteligentną, aby sprawdzić wybory kodu. Aby użyć akcji Przejrzyj tę inteligentną:
Wybierz fragment kodu, który wymaga przeglądu. W takim przypadku kod, który generuje listę liczb losowych.
Wybierz pozycję Przejrzyj to z menu kontekstowego Copilot.
Przejrzyj sugerowane aktualizacje i wybierz pozycję Akceptuj , aby zastosować zmiany.
W przypadku fragmentu kodu, który generuje liczby losowe, akcja Przejrzyj tę inteligentną akcję sugeruje następujące kwestie:
- Inicjowanie
List<int> numbersprzy użyciu pojemności w100celu uniknięcia wielu zmian rozmiaru podczas populacji. - Używanie elementu
HashSet<int>zamiastList<int>do szybszego wyszukiwania podczas sprawdzania pod kątem duplikatów.
W takim przypadku akcja Przegląd ta inteligentna prowadzi do użycia HashSet<int> , a List<int> nie do poprawy wydajności.
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers);
Console.WriteLine(sum);
Mimo że użycie elementu HashSet działa wydajnie w celu zapewnienia kolekcji unikatowych elementów, aktualizacja tworzy nowy problem. Metoda addPrimeNumbersInNumericList oczekuje List<int> jako danych wejściowych, ale zaktualizowany kod tworzy element HashSet<int>. Spowoduje to następujący błąd kompilacji:
Na szczęście możesz użyć akcji Inteligentne poprawki , aby naprawić błąd. Aby użyć akcji Inteligentne poprawki:
Kliknij prawym przyciskiem myszy fragment kodu, który należy naprawić. W tym przypadku kod podkreślony na czerwono.
Wybierz pozycję Poprawka z menu kontekstowego Copilot.
Przejrzyj sugerowaną poprawkę i wybierz pozycję Akceptuj , aby zastosować zmiany.
Akcja inteligentna Fix generuje co najmniej jedną sugestię, aby naprawić błąd. W takim przypadku jedna z sugestii używa ToList() metody , aby przekonwertować HashSet element na List wewnątrz wywołania na addPrimeNumbersInNumericList. Wynikowy kod będzie wyglądać podobnie do następującego fragmentu kodu:
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers.ToList());
Console.WriteLine(sum);
Jak zawsze, przejrzyj sugestię dostarczoną przez Copilot Chat. Mogą istnieć lepsze rozwiązania. Możesz wybrać pozycję Akceptuj , aby zaktualizować kod za pomocą proponowanej poprawki.
Szybki czat
Trzecią opcją, jaką zapewnia czat w usłudze GitHub Copilot na potrzeby interakcji z czatem, jest szybki czat.
Możesz użyć funkcji Szybkiego czatu w usłudze GitHub Copilot Chat, gdy chcesz mieć szybką, interaktywną rozmowę ze sztuczną inteligencją. Może to być przydatne, gdy próbujesz rozwiązać problem, potrzebujesz pomocy w zrozumieniu fragmentu kodu lub chcesz chcieć pomysłów burzy mózgów. Ma to na celu poczucie, że rozmawiasz z innym deweloperem, dzięki czemu jest to doskonałe narzędzie do wspólnego rozwiązywania problemów.
Aby otworzyć okno Szybki czat, możesz nacisnąć Ctrl+Shift+Alt+L w edytorze programu Visual Studio Code lub otworzyć szybki czat z menu Copilot Chat.
Podsumowanie
Usługa GitHub Copilot Chat oferuje kilka sposobów interakcji z programistą-parą AI, w tym czat inline, inteligentne akcje i szybki czat. Te funkcje umożliwiają zadawanie pytań, uzyskiwanie sugestii dotyczących kodu i szybkie i łatwe wykonywanie typowych zadań kodowania.