Korzystanie z dostosowywania kodu w Gemini Code Assist

Ten dokument opisuje, jak korzystać z dostosowywania kodu w Gemini Code Assist, i zawiera kilka sprawdzonych metod. Ta funkcja umożliwia otrzymywanie rekomendacji dotyczących kodu, które są oparte na bibliotekach wewnętrznych, prywatnych interfejsach API i stylu kodowania Twojej organizacji.

Zanim zaczniesz

  1. Skonfiguruj Gemini Code Assist w ramach subskrypcji Enterprise.
  2. Skonfiguruj dostosowywanie kodu w Gemini Code Assist.

Jak korzystać z dostosowywania kodu

W tabeli poniżej znajdziesz sposoby korzystania z dostosowywania kodu w Gemini Code Assist:

Formularz Jak wywołać Uwagi i materiały

Czat w języku naturalnym

Wpisz polecenie w języku naturalnym na czacie Gemini Code Assist w IDE.

Weź pod uwagę następujące kwestie:

  • Historia czatu jest niedostępna. Unikaj zapytań wieloetapowych.
  • Możesz poprosić o więcej informacji o źródłach, w tym o linki do konkretnych źródeł.
  • Jeśli podczas wysyłania wiadomości na czacie wyróżnisz lub wybierzesz kod, Gemini Code Assist użyje go do ulepszania dostosowywania kodu i jakości czatu.

Więcej informacji znajdziesz w artykule Czat z Gemini Code Assist.

Generowanie kodu Na pasku szybkiego wyboru w IDE, z zaznaczonym kodem lub bez niego, naciśnij Command+Enter (macOS) lub Control+Enter. Więcej informacji znajdziesz w artykule Generowanie kodu za pomocą promptów.
Przekształć kod Na pasku szybkiego wyboru w IDE, z wybranym kodem lub bez niego, wpisz /fix. Więcej informacji znajdziesz w artykule Generowanie kodu za pomocą promptów.
Autouzupełnianie Dostosowywanie kodu jest uruchamiane automatycznie i zawiera sugestie na podstawie tego, co piszesz.

Weź pod uwagę następujące kwestie:

  • Aby zaproponować sugestię, funkcja uzupełniania kodu musi mieć określony poziom ufności. Upewnij się, że dostępna jest znaczna ilość kodu, aby można było pobrać odpowiednie fragmenty.
  • Funkcja uzupełniania kodu sprawdza, czy masz wymagane biblioteki, aby używać określonych elementów funkcji.

Więcej informacji znajdziesz w artykule Uzyskiwanie sugestii kodu.

Kontekst zdalnego repozytorium
  1. Rozpocznij prompt od symbolu @. Pojawi się lista dostępnych zdalnych repozytoriów, które są indeksowane.
  2. Z listy wybierz repozytorium, którego chcesz użyć jako kontekstu. Możesz też zacząć wpisywać nazwę repozytorium, aby przefiltrować listę.
  3. Po wybraniu repozytorium napisz resztę promptu.

Weź pod uwagę następujące kwestie:

  • Jest to przydatne, gdy pracujesz nad zadaniem, które jest w większości związane z określonym zestawem mikroserwisów, bibliotek lub modułów.

Więcej informacji znajdziesz w artykule Otrzymywanie trafniejszych sugestii dzięki kontekstowi repozytorium zdalnego.

Przykłady przypadków użycia i promptów

W tabeli poniżej znajdziesz wskazówki i przykłady dotyczące używania dostosowywania kodu w konkretnych przypadkach:

Przypadek użycia Warto spróbować
Pisanie nowego kodu

Aby wygenerować kod w środowisku IDE lub na czacie Gemini Code Assist, wykonaj te czynności:

  • Generowanie kodu, który używa terminów już wymienionych w bazie kodu.
  • Wklej kod, np. sygnaturę funkcji lub kod z TODO komentarzami, a następnie poproś Gemini Code Assist o wypełnienie lub zastąpienie TODO komentarzy kodem. Dodawanie komentarzy z wyjaśnieniem na podstawie kontekstu.

Wypróbuj generowanie kodu za pomocą tych promptów na czacie Gemini Code Assist:

  • „Napisz funkcję główną, w której zostanie utworzone połączenie z DATABASE. obejmują kontrole stanu”.
  • „Napisz FUNCTION_OR_CLASS w tej strukturze:EXPLAIN_STRUCTURE”.

Po wygenerowaniu kodu spróbuj użyć dodatkowego prompta, aby go ulepszyć:

  • „Użyj polecenia /fix, aby dostosować wygenerowany kod, np. poprawić błędy składniowe”.
  • „Dodaj brakujące importy”.
  • „Wypróbuj /fix w przypadku kodu wygenerowanego przez czat”.
Czyszczenie, upraszczanie i refaktoryzacja kodu

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Czy możesz scalić IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS w tym pliku?”
  • „Jak uprościłbyś/uprościłabyś funkcję FUNCTION_NAME?”
  • „Czy możesz połączyć funkcje FUNCTION_NAME_1 i FUNCTION_NAME_2 w jedną?”
  • „Czy możesz wstawić niektóre zmienne w FUNCTION_NAME?”
  • „Czy możesz uprościć nazewnictwo zmiennych w funkcji FUNCTION_NAME?”
Czytelność

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Napisz funkcję FUNCTION_NAME w możliwie jak najmniejszej liczbie wierszy kodu”.
  • „Dodaj komentarze do funkcji FUNCTION_NAME”.
  • „Usuń niepotrzebne białe znaki w funkcji FUNCTION_NAME”.
  • „Sformatuj funkcję FUNCTION_NAME w podobny sposób jak resztę kodu”.
Weryfikacja kodu

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Podziel kod na części i wyjaśnij każdą z nich, korzystając z naszej bazy kodu”.
  • „Czy są zmienne lub słowa kluczowe, które można skrócić i uczynić bardziej oczywistymi?”
  • „Czy możesz podać przydatny kod z REPOSITORY_NAME_PACKAGE_MODULE kontekstu dla tego kodu?”
  • „Co sądzisz o funkcji FUNCTION_NAME?”
Debugowanie

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Podczas próby wykonania czynności X lub dodania Y pojawia się błąd. Dlaczego?
  • „Czy widzisz błąd w funkcji FUNCTION_NAME?”
  • „Jak naprawisz funkcję FUNCTION_NAME, biorąc pod uwagę ten komunikat o błędzie?”
Nauka i wprowadzenie

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Podziel ten kod na części i wyjaśnij każdą z nich, korzystając z naszej bazy kodu”.
  • „Pokaż, jak wywołać funkcję FUNCTION_NAME?”
  • „Jak uruchomić główną funkcję w środowisku ENVIRONMENT_NAME?”
  • „Jakie kluczowe ulepszenie techniczne możemy wprowadzić, aby zwiększyć wydajność tego kodu?”
  • „Pokaż mi implementację FUNCTION_OR_CLASS_NAME, aby uzyskać lepsze wyniki, i dodaj, czym jest ten konkretny element” – na przykład „Pokaż mi implementację funkcji foo, gdzie foo to nazwa funkcji”.
Migracja

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Podaj strategię migracji z FILE_NAME na LANGUAGE_1” – np. z Go na Pythona.LANGUAGE_2
  • „Znajdź mi odpowiednik funkcji FUNCTION_NAME w repozytorium REPOSITORY_NAME w języku LANGUAGE_NAME, którego mogę użyć”.

Wypróbuj ten przepływ pracy oparty na czacie lub generowaniu kodu, używając promptów:

  1. „Weź kod FILENAME_COMPONENT napisany w języku LANGUAGE_1, zmień jego strukturę i przenieś go do języka LANGUAGE_2” – na przykład z Go do Pythona.
  2. Po przeniesieniu części kodu wykonaj te czynności:
    • Wybierz mniejsze fragmenty i użyj /fix, aby uzyskać odpowiedni stan.
    • Wypróbuj te prompty:
      • „Czy jest coś, co można poprawić?”
      • „Podaj możliwe problemy”.
      • „Jak przetestujesz ten kod, jeśli migracja jest prawidłowa?”
Generowanie dokumentacji

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Podsumuj kod w pakiecie lub folderzeX i przygotuj dokumentację 5 najważniejszych metod”.
  • „Wygeneruj dokumentację dla FUNCTION_OR_CLASS_NAME”.
  • „Skróć dokumentację, zachowując kluczowe informacje”.
Generowanie testów jednostkowych

Wypróbuj te prompty na czacie Gemini Code Assist:

  • „Wygeneruj testy jednostkowe dla FILENAME”.
  • „Dodaj najbardziej odpowiednie elementy testowania funkcji FUNCTION_NAME”.
  • „Usuń przypadki testowe, które Twoim zdaniem nie wnoszą zbyt wiele wartości”.

Sprawdzone metody

  • Używaj odpowiednich nazw zmiennych i funkcji lub fragmentów kodu. Dzięki temu dostosowywanie kodu będzie się odbywać na podstawie najbardziej odpowiednich przykładów.
  • Używaj repozytoriów indeksów, które chcesz skalować, i unikaj dodawania wycofanych funkcji. Dostosowywanie kodu pomaga skalować styl kodu, wzorce, semantykę kodu, wiedzę i implementacje w całej bazie kodu. Nieprawidłowe przykłady repozytoriów do skalowania to wycofane funkcje, wygenerowany kod i starsze implementacje.
  • W przypadku pobierania kodu używaj funkcji generowania kodu zamiast funkcji uzupełniania kodu. Użyj promptu w stylu „Korzystając z definicji FUNCTION_NAME, wygeneruj dokładnie tę samą funkcję” lub „Wygeneruj dokładną implementację FUNCTION_NAME”.
  • W pliku z kodem, który chcesz pobrać, umieść instrukcje include lub import, aby zwiększyć świadomość kontekstową Gemini.
  • Wykonuj tylko 1 działanie w przypadku każdego prompta. Jeśli na przykład chcesz pobrać kod i zastosować go w nowej funkcji, wykonaj te czynności w 2 promptach.
  • W przypadku zastosowań, w których potrzebujesz czegoś więcej niż tylko kodu (np. wyjaśnienia kodu, planu migracji lub wyjaśnienia błędu), użyj dostosowywania kodu na potrzeby czatu, w którym rozmawiasz z Gemini, mając kontekst bazy kodu.
  • Pamiętaj, że generowanie modeli AI nie jest deterministyczne. Jeśli nie jesteś zadowolony(-a) z odpowiedzi, ponowne wykonanie tego samego promptu może przynieść lepszy rezultat.
  • Pamiętaj, że generowanie testów jednostkowych zwykle działa lepiej, jeśli otworzysz plik lokalnie, a następnie na czacie poprosisz o wygenerowanie testów jednostkowych dla tego pliku lub konkretnej funkcji.

Otrzymywanie trafniejszych sugestii dzięki kontekstowi repozytorium zdalnego

Możesz uzyskać bardziej kontekstowe i trafne sugestie dotyczące kodu, kierując Gemini Code Assist na określone repozytoria zdalne. Używając symbolu @ na czacie, możesz wybrać jedno lub więcej repozytoriów, które będą używane jako główne źródło kontekstu dla promptów. Jest to przydatne, gdy pracujesz nad zadaniem, które jest w większości związane z określonym zestawem mikroserwisów, bibliotek lub modułów.

Aby użyć zdalnego repozytorium jako kontekstu, wykonaj te czynności na czacie w IDE:

  1. Rozpocznij prompt od symbolu @. Pojawi się lista dostępnych zdalnych repozytoriów, które są zindeksowane.
  2. Z listy wybierz repozytorium, którego chcesz użyć jako kontekstu. Możesz też zacząć wpisywać nazwę repozytorium, aby przefiltrować listę.
  3. Po wybraniu repozytorium napisz resztę promptu.

Podczas generowania odpowiedzi Gemini będzie traktować wybrane repozytorium jako priorytetowe.

Przykładowe prompty

Oto kilka przykładów, jak możesz korzystać z tej funkcji:

  • Aby dowiedzieć się więcej o repozytorium:
    • @REPOSITORY_NAME Jaka jest ogólna struktura tego repozytorium?”
    • @REPOSITORY_NAME Jestem nowym członkiem zespołu. Czy możesz mi opisać, do czego służy to repozytorium i jakie są jego kluczowe moduły?
  • W przypadku generowania i modyfikowania kodu:
    • @REPOSITORY_NAME Wdróż funkcję uwierzytelniania podobną do tej w tym repozytorium”.
    • @REPOSITORY_NAME Zrefaktoryzuj poniższy kod, aby był zgodny z konwencjami w wybranym repozytorium”.
    • @REPOSITORY_A_NAME Jak mogę użyć najnowszych funkcji z tego repozytorium, aby ulepszyć mój kod w REPOSITORY_B_NAME?
  • Do testowania:
    • @UNIT_TEST_FILE_NAME Wygeneruj testy jednostkowe dla MODULE na podstawie przykładów w wybranym pliku”.

Korzystając z repozytoriów zdalnych jako ukierunkowanego źródła kontekstu, możesz otrzymywać od Gemini Code Assist bardziej trafne i odpowiednie sugestie, które pomogą Ci szybciej i wydajniej pisać kod.