Кодируйте с помощью Gemini Code Assist для частных лиц

В этом документе описывается, как вы можете использовать Gemini Code Assist , инструмент для совместной работы на базе искусственного интеллекта в вашей IDE, который поможет вам выполнять следующие действия в VS Code или IntelliJ и других поддерживаемых IDE JetBrains :

  • Предоставьте рекомендации, которые помогут вам решить проблемы с вашим кодом.
  • Сгенерируйте код для вашего проекта.
  • Получайте встроенные предложения во время написания кода.

Узнайте, как и когда Gemini for Google Cloud использует ваши данные .

Чтобы помочь вам соблюдать любые лицензионные требования для вашего кода, Gemini Code Assist предоставляет ссылки на источники, когда его предложения напрямую цитируют конкретный источник. Дополнительные сведения о том, как и когда Gemini цитирует источники, см . в разделе «Как Gemini помогает создавать код и цитирует источники» .

Этот документ предназначен для разработчиков всех уровней квалификации. Предполагается, что у вас есть практические знания VS Code или IntelliJ и других поддерживаемых IDE JetBrains. При желании вы также можете изучить Gemini Code Assist в Cloud Shell и Cloud Workstations .

Прежде чем начать

  1. Прежде чем тестировать возможности Gemini Code Assist в файле кода, убедитесь, что язык кодирования вашего файла поддерживается. Дополнительные сведения о поддерживаемых языках кодирования см. в разделе Поддерживаемые языки кодирования .
  2. Если вы предпочитаете использовать свою интегрированную среду разработки через прокси-сервер, см. раздел Сетевые подключения в Visual Studio Code .
  1. Прежде чем тестировать возможности Gemini Code Assist в файле кода, убедитесь, что язык кодирования вашего файла поддерживается. Дополнительные сведения о поддерживаемых языках кодирования см. в разделе Поддерживаемые языки кодирования .

  2. Если вы предпочитаете использовать свою IDE за прокси-сервером, см. раздел HTTP-прокси .

Чат с Gemini Code Assist

В этом разделе вы предложите Gemini Code Assist предоставить объяснение существующего кода.

Чтобы получить объяснение вашего кода, выполните следующие действия:

  1. Откройте файл кода.

  2. На панели активности вашей IDE нажмите spark Gemini Code Assist» .

  3. На панели Gemini Code Assist введите запрос Explain this code to me и нажмите send » .

    Gemini использует код в вашем файле кода в качестве ссылки на ваше приглашение и отвечает объяснением вашего кода.

    Чтобы обратиться к конкретному блоку кода, а не ко всему коду в файле, вы можете выбрать блок в файле кода и затем запросить Gemini.

Чтобы получить объяснение вашего кода, выполните следующие действия:

  1. В вашей IDE откройте файл кода.

  2. В окне инструмента Gemini Code Assist введите запрос Explain this code to me и нажмите «Отправить» .

Gemini Code Assist использует код из вашего файла кода в качестве ссылки на ваше приглашение и отвечает объяснением вашего кода.

Если вам нужно объяснение только определенной части вашего кода, вы можете выбрать определенный код и затем снова запросить Gemini Code Assist. Gemini Code Assist будет использовать выбранный код только как ссылку на сгенерированный ответ.

Когда Gemini Code Assist предоставит вам код в своем ответе, вы можете выбрать следующие параметры, перечисленные в конце ответа:

  • Вставить в курсор : вставляет сгенерированный код в текущий файл в текущую позицию курсора.

  • Вставить в новый файл : открывает новый файл и вставляет в него сгенерированный код.

    Gemini перечисляет действия кода в конце сгенерированного ответа кода.

Эти параметры доступны, когда Gemini Code Assist определяет язык, используемый в вашем блоке кода, и если этот язык поддерживается в вашей текущей IDE.

Просмотр истории запросов

Если вы хотите повторно использовать предыдущие запросы, вы можете найти их в истории запросов в окне инструмента Gemini Code Assist , щелкнув schedule Показать историю запросов .

История запросов Gemini в окне инструментов.

Сбросить историю чата

Gemini Code Assist использует историю чата для дополнительного контекста при ответе на ваши запросы. Если ваша история чата больше не имеет отношения к тому, чего вы пытаетесь достичь, вы можете сбросить историю чата:

На панели Gemini Code Assist нажмите delete Сбросить чат» .

В окне инструмента Gemini Code Assist нажмите delete Очистить историю разговоров» . Это также очистит историю ваших запросов.

Кнопка для очистки истории разговоров в окне инструментов Gemini.

Генерация кода с подсказками

В следующих разделах показано, как использовать Gemini Code Assist для генерации кода с помощью примера Function to create a Cloud Storage bucket внутри файла кода. Вы также можете выбрать часть своего кода, а затем запросить помощь Gemini Code Assist через функцию чата, а также получать, принимать или отклонять предложения кода во время написания кода.

Оперативная помощь Gemini Code с преобразованием кода

Преобразование кода позволяет использовать команды или подсказки на естественном языке в меню «Быстрый выбор» для запроса изменений вашего кода, а также предоставляет представление различий для отображения ожидающих изменений в вашем коде. Чтобы запросить Gemini Code Assist преобразование кода, выполните следующие действия:

  1. В файле кода на новой строке нажмите Control+I (для Windows и Linux) или Command+I (для macOS), чтобы открыть панель быстрого выбора Gemini Code Assist .

  2. В меню с помощью команды /generate введите /generate function to create a Cloud Storage bucket , а затем нажмите Enter (для Windows и Linux) или Return (для macOS).

    Gemini Code Assist генерирует код с помощью команды /generate.

    Gemini Code Assist генерирует код на основе вашего запроса в представлении различий.

    Gemini Code Assist открывает представление различий для отображения сгенерированного кода.

  3. Необязательно: Чтобы принять эти изменения, нажмите «Принять» .

Подскажите Gemini Code Помощь в файле кода с комментарием

При желании вы также можете запросить Gemini Code Assist в файле кода с комментарием, выполнив следующие действия:

  1. В новой строке введите комментарий Function to create a Cloud Storage bucket , а затем нажмите Enter (для Windows и Linux) или Return (для macOS).

  2. Чтобы сгенерировать код, нажмите Control+Enter (для Windows и Linux) или Control+Return (для macOS).

    Рядом с текстом подсказки в файле кода Gemini Code Assist генерирует код в виде призрачного текста.

  3. Необязательно: Чтобы принять сгенерированный код, нажмите Tab .

Подскажите Gemini Code Assist с выбранным кодом в чате

Gemini Code Assist может выполнять задачи или отвечать на ваши вопросы на основе выбранного вами кода. Чтобы получить сгенерированный код на основе приглашения с выбранным кодом, выполните следующие действия:

  1. На панели действий нажмите spark Помощник по коду Gemini» , чтобы открыть панель «Помощник по коду Gemini» .

  2. В файле кода выберите блок кода.

  3. В текстовом поле панели Gemini Code Assist введите запрос для выбранного кода.

    Например, выберите функцию в своем коде и введите приглашение. Write a unit test for this function :

    Gemini пишет модульный тест для выбранной функции.

    Gemini использует выбранный вами код в качестве ссылки и отвечает на ваш запрос.

Оперативная помощь Gemini Code с преобразованием кода

Преобразование кода позволяет использовать команды или подсказки на естественном языке в меню «Быстрый выбор» для запроса изменений вашего кода, а также предоставляет представление различий для отображения ожидающих изменений в вашем коде. Чтобы запросить Gemini Code Assist преобразование кода, выполните следующие действия:

  1. В файле кода на новой строке нажмите Alt+\ (для Windows и Linux) или Cmd+\ (для macOS), чтобы открыть меню быстрого выбора Gemini Code Assist .

  2. В меню с помощью команды /generate введите /generate function to create a Cloud Storage bucket , а затем нажмите Enter (для Windows и Linux) или Return (для macOS).

    Функция генерации преобразования кода в IntelliJ Gemini Code Assist

    Gemini Code Assist генерирует код на основе вашего запроса в представлении различий.

    Просмотр различий в преобразовании кода в IntelliJ Gemini Code Assist

  3. Необязательно: Чтобы принять эти изменения, нажмите «Принять изменения» .

    В вашей IDE вы можете использовать следующие команды преобразования кода:

    • /fix : Исправьте проблемы или ошибки в вашем коде. Пример: /fix potential NullPointerExceptions in my code .
    • /generate : сгенерировать код. Пример: /generate a function to get the current time .
    • /doc : добавьте документацию в свой код. Пример: /doc this function .
    • /simplify : упростите свой код. Пример: /simplify if statement in this code .

Подскажите Gemini Code Помощь в файле кода с комментарием

  1. В файле кода в новой строке введите комментарий Function to create a Cloud Storage bucket .

  2. Чтобы сгенерировать код, нажмите Alt+G (для Windows и Linux) или Option+G (для macOS). Альтернативно вы можете щелкнуть правой кнопкой мыши рядом с комментарием и выбрать «Создать код» .

    Gemini Code Assist генерирует код под вашим комментарием в виде призрачного текста.

  3. Необязательно: Чтобы принять сгенерированный код, нажмите Tab .

Подскажите Gemini Code Assist с выбранным кодом в чате

Gemini Code Assist может выполнять задачи или отвечать на ваши вопросы на основе выбранного вами кода. Чтобы получить сгенерированный код на основе приглашения с выбранным кодом, выполните следующие действия:

  1. На панели действий нажмите «Включить Gemini Code Assist» , чтобы открыть окно инструмента Gemini Code Assist .

  2. В файле кода выберите блок кода.

  3. В текстовом поле окна инструмента Gemini Code Assist введите запрос для выбранного кода.

    Например, выберите функцию в своем коде и введите приглашение Write a unit test for this function.

    Gemini Code Assist использует выбранный вами код в качестве ссылки и отвечает на ваш запрос.

Необязательно: измените сочетание клавиш для генерации кода.

Если сочетание клавиш по умолчанию для создания кода не работает, как описано в предыдущем разделе, вы можете изменить сочетание клавиш, выполнив следующие действия:

  1. В интегрированной среде разработки нажмите «Файл» (для Windows и Linux) или «Код» (для macOS), а затем выберите «Настройки» > «Сочетания клавиш» .

  2. Прокручивайте список сочетаний клавиш, пока не найдете Gemini Code Assist: Generate code .

  3. Нажмите «Gemini Code Assist: создать код» , а затем нажмите edit привязку клавиш» .

  4. В появившемся диалоговом окне введите собственный ярлык.

  5. Нажмите Enter (для Windows и Linux) или Return (для macOS).

    Теперь вы можете использовать недавно назначенное сочетание клавиш для генерации кода с помощью Gemini Code Assist.

Дополнительные сведения об изменении сочетаний клавиш в интегрированной среде разработки см. в разделе Привязки клавиш для кода Visual Studio .

  1. Перейдите к settings IDE и Project Settings > Settings > Keymap > Gemini Code Assist .

  2. Щелкните правой кнопкой мыши Gemini Code Assist и выберите «Добавить сочетание клавиш» .

  3. Введите предпочитаемое сочетание клавиш и нажмите «ОК» .

  4. Щелкните правой кнопкой мыши Gemini Code Assist и выберите «Удалить Alt+G» (для Windows и Linux) или «Удалить Option+G» (для macOS).

Теперь вы можете использовать новое сочетание клавиш для создания кода в файле кода.

Получить завершение кода

Пока вы пишете код, Gemini Code Assist предлагает встроенные предложения по коду, также известные как автодополнение кода , которые вы можете принять или проигнорировать. Чтобы получить завершение кода, выполните следующие действия:

  1. В файле кода на новой строке начните писать функцию. Например, если вы находитесь в файле Python, напишите def .

    Gemini Code Assist предлагает код в виде призрачного текста.

  2. Чтобы принять предложение кода от Gemini Code Assist, нажмите Tab . В противном случае, чтобы проигнорировать это предложение, нажмите Esc или продолжите писать код.

  1. В файле кода на новой строке начните писать функцию. Например, если вы находитесь в файле Python, напишите def .

    Gemini Code Assist предлагает код в виде встроенного предложения.

  2. Чтобы принять предложение кода от Gemini Code Assist, нажмите Tab . В противном случае, чтобы проигнорировать это предложение, нажмите Esc или продолжите писать код.

  3. Необязательно: если вы предпочитаете использовать другое сочетание клавиш для принятия встроенного предложения, наведите указатель на встроенное предложение и щелкните появившийся раскрывающийся список «Вкладка» . Затем выберите предпочитаемый ярлык или нажмите «Пользовательский» , чтобы ввести собственный ярлык.

    Gemini предоставляет раскрывающееся меню для изменения ярлыка, чтобы принять встроенное предложение.

Необязательно: отключить завершение кода.

Завершение кода включено по умолчанию. Если вы хотите отключить завершение кода, выполните следующие действия:

  1. В IDE нажмите «Код» (для macOS) или «Файл» (для Windows и Linux), а затем перейдите в «Настройки» > «Настройки» .

  2. На вкладке «Пользователь» диалогового окна «Настройки» выберите «Расширения» > «Gemini Code Assist» .

  3. Прокрутите список до тех пор, пока не найдете список Duet AI: Встроенные предложения: Включить автоматически , а затем выберите «Выключить» .

    Это отключает встроенные предложения. Вы по-прежнему можете нажать Control+Enter (для Windows и Linux) или Control+Return (для macOS), чтобы вручную активировать встроенные предложения.

В строке состояния вашей IDE нажмите spark Gemini Code Assist: Active» и выберите «Enable AI Code Completion» .

Кнопка завершения кода Gemini в строке состояния IntelliJ.

При этом параметр завершения кода отключается, и Gemini Code Assist больше не будет предлагать встроенные предложения, пока вы снова не включите этот параметр.

Используйте умные действия

Чтобы помочь вам повысить продуктивность и свести к минимуму переключение контекста, Gemini Code Assist предоставляет интеллектуальные действия на базе искусственного интеллекта непосредственно в вашем редакторе кода. Когда вы выбираете свой код в редакторе кода, вы можете просматривать и выбирать из списка действия, соответствующие вашему контексту.

Чтобы использовать интеллектуальные действия в своем коде, выполните следующие действия:

  1. В файле кода выберите блок кода.

  2. Рядом с выбранным блоком кода нажмите lightbulb Показать действия кода» .

    Значок лампочки умных действий появляется после выбора блока кода в VS Code.

  3. Выберите действие, например «Создать модульные тесты» .

    Gemini генерирует ответ, основанный на выбранном вами действии.

  1. В файле кода выберите строку или блок кода.

  2. Щелкните правой кнопкой мыши выбранный код и выберите интеллектуальное действие, например «Создать модульные тесты» .

    Выбор интеллектуального действия автоматически предложит Gemini Code Assist сгенерировать ответ на запрос в окне инструмента Gemini Code Assist .

Используйте быстрое исправление преобразования кода

Если в вашем коде есть ошибка, Gemini Code Assist дает вам возможность быстро исправить ошибку с помощью преобразования кода.

Чтобы применить быстрое исправление в файле кода, выполните следующие действия:

  1. В файле кода наведите указатель на волнистую линию ошибки и выберите «Быстрое исправление» , а затем выберите /fix .

    Быстрое исправление преобразования кода в IDE.

  2. После применения быстрого исправления появится представление различий. Чтобы принять эти изменения, нажмите «Принять» .

  1. В файле кода щелкните красный значок лампочки ошибки, который указывает на ошибку в вашем коде, и выберите «Исправить с помощью Gemini» .

    Возможность преобразования кода, которую можно исправить с помощью Gemini в IDE.

  2. Когда исправление будет применено, появится представление различий. Чтобы принять эти изменения, нажмите «Принять» .

Запрашивайте конкретные файлы в вашем рабочем пространстве с учетом локальной базы кода.

Знание локальной базы кода помогает вам предлагать высококачественные предложения кода, которые являются синтаксически правильными и семантически значимыми в более широком контексте вашей кодовой базы, когда вы указываете файлы, которые Gemini Code Assist будет использовать в качестве контекста.

Чтобы указать файлы в приглашении чата, введите @ и выберите файлы, которые вы хотите указать.

Укажите файлы с поддержкой локальной базы кода.

Чтобы получить объяснение различий двух файлов в вашей кодовой базе, выполните следующие действия:

  1. На панели действий нажмите spark Gemini Code Assist» .

  2. На панели Gemini Code Assist введите приглашение Explain the difference between @YOUR_FILE_NAME_1 and @YOUR_FILE_NAME_2 и нажмите Enter (для Windows и Linux), Return (для macOS) или Tab . Вы также можете щелкнуть имя файла в списке, чтобы выбрать файл. При нажатии на имя файла файл добавляется в контекст приглашения и открывается в вашей IDE.

    Gemini Code Assist ответит на ваш запрос, используя два файла, которые вы указали в качестве контекста. Gemini Code Assist также включает файлы, указанные вами в разделе «Источники контекста» .

Теперь, когда вы указали эти файлы, вы можете продолжать задавать дополнительные вопросы или подсказки в той же истории чата, не указывая файлы повторно.

Например: На панели Gemini Code Assist введите запрос How can I improve YOUR_FILE_NAME_1? (без символа @ ) и нажмите Enter (для Windows и Linux) или Return (для macOS).

Gemini Code Assist ответит на ваш запрос о файле, указанном в запросе.

Необязательно: Исключите файлы из контекста с помощью файла .aiexclude.

Вы можете исключить файлы из контекста Gemini Code Assist, создав файл .aiexclude . Синтаксис файла .aiexclude аналогичен синтаксису файла .gitignore со следующими отличиями:

  • Пустой или несуществующий файл .aiexclude не блокирует файлы в своем каталоге и во всех подкаталогах.
  • Файл .aiexclude не поддерживает отрицание, при котором перед шаблоном ставится восклицательный знак ( ! ).
  • Файл .aiexclude жадно сопоставляет символ * . Это будет соответствовать без разбора каталогам и файлам. Этот файл .aiexclude не делает различий между ** и * в отношении папок и файлов.

В настоящее время поддерживается только один файл .aiexclude . Чтобы настроить файл .aiexclude , создайте файл с именем .aiexclude в корне папки вашего рабочего пространства.

Примеры

Следующие примеры демонстрируют, как можно настроить файл .aiexclude :

  • Заблокируйте все файлы с именем apikeys.txt в каталоге рабочей области или ниже:

    apikeys.txt
    
  • Заблокируйте все файлы с расширением .key в каталоге рабочей области или ниже:

    *.key
    
  • Заблокируйте только файл apikeys.txt в том же каталоге, что и файл .aiexclude , но не любые подкаталоги:

    /apikeys.txt
    
  • Заблокируйте все файлы в каталоге my/sensitive/dir и во всех подкаталогах. Путь должен быть относительным к корневому каталогу рабочей области.

    my/sensitive/dir/*
    

Отключить предложения кода, соответствующие цитируемым источникам.

Gemini Code Assist предоставляет информацию о цитировании, когда он напрямую цитирует длинный источник из другого источника, например существующего открытого исходного кода. Дополнительную информацию см. в разделе «Как и когда Gemini цитирует источники» .

Чтобы вам не предлагался код, соответствующий цитируемым источникам, сделайте следующее:

  1. На панели действий вашей IDE нажмите «Управление» > «Настройки» .

  2. На вкладке «Пользователь» окна настроек перейдите в «Расширения» > «Gemini Code Assist» .

  3. Прокрутите страницу, пока не найдете Duet AI > Декламация: максимальная процитированная длина .

  4. Установите значение 0 .

    Gemini Code Assist больше не предлагает вам код, соответствующий цитируемым источникам.

Известные проблемы

В этом разделе описаны известные проблемы Gemini Code Assist:

  • Ответы чата могут быть обрезаны, если они содержат обновленную версию большого открытого файла.

    Чтобы обойти эту проблему, выберите меньший фрагмент кода и включите в приглашение чата дополнительную директиву, например only output the selected code.

  • Vim: невозможно принять или отклонить предложения по созданию кода, если только он не находится в режиме вставки.

    При использовании плагина Vim в обычном режиме вы не можете принимать или отклонять предложения кода.

    Чтобы обойти эту проблему, нажмите i , чтобы войти в режим вставки, а затем нажмите Tab , чтобы принять предложение.

  • Vim: непоследовательное поведение при нажатии Esc для отклонения предложений.

    При нажатии Esc предложения как IDE, так и Gemini отклоняются. Это поведение отличается от поведения, не связанного с Vim, когда нажатие Esc повторно запускает Gemini.

  • Попытки входа продолжаются по таймауту

    Если время попыток входа в систему истекает, попробуйте добавить параметр cloudcode.beta.forceOobLogin в файл settings.json :

     "cloudcode.beta.forceOobLogin": true
    
  • Предупреждения о повторении лицензии не сохраняются между сеансами.

    Если предупреждения о повторении лицензии не сохраняются между сеансами, обратитесь к постоянным журналам:

    1. Нажмите «Просмотр» > «Вывод» .

    2. Выберите «Помощь по коду Gemini — Цитаты» .

  • Проблемы с подключением в окне вывода Gemini Code Assist

    Если вы видите ошибку подключения или другие проблемы с подключением в окне вывода Gemini Code Assist, попробуйте следующее:

    • Настройте брандмауэр, чтобы разрешить доступ к oauth2.googleapis.com и cloudaicompanion.googleapis.com .

    • Настройте брандмауэр, чтобы разрешить связь через HTTP/2, который использует gRPC.

    Вы можете использовать инструмент grpc-health-probe для проверки подключения. Успешная проверка приводит к следующему выводу:

    $ grpc-health-probe -addr cloudaicompanion.googleapis.com:443 -tls error: this server does not implement the grpc health protocol (grpc.health.v1.Health): GRPC target method can't be resolved

    Неудачная проверка приводит к следующему выводу:

    timeout: failed to connect service "cloudaicompanion.googleapis.com:443" within 1s

    Чтобы получить более подробную информацию, перед grpc-health-probe запустите следующую команду:

    export GRPC_GO_LOG_SEVERITY_LEVEL=info
    

Известных проблем с Gemini Code Assist для IntelliJ и других поддерживаемых IDE JetBrains нет.

Оставить отзыв

Чтобы оставить отзыв о своем опыте, выполните следующие действия:

  1. В строке состояния нажмите spark Gemini Code Assist» , а затем в меню «Быстрый выбор» выберите «Отправить отзыв» .

  2. В форме заполните поля «Заголовок» и «Комментарии» .

  3. Если вы хотите поделиться своими журналами Skaffold или AI Companion, обязательно выберите параметр « Отправить журналы Skaffold» или «Отправить журналы AI Companion» .

  4. Нажмите «Отправить отзыв» .

  1. В строке состояния нажмите spark Gemini Code Assist» , а затем в меню выберите «Отправить отзыв» .

  2. В текстовом поле вверху формы введите свой отзыв.

  3. Если вы хотите поделиться журналами Gemini Code Assist, обязательно выберите файлы журналов.

  4. Нажмите «Отправить отзыв» .

Что дальше