В этом документе описывается, как использовать Gemini Code Assist — инструмент для совместной работы на базе искусственного интеллекта в вашей среде IDE, который поможет вам выполнять следующие действия в VS Code или IntelliJ и других поддерживаемых средах IDE JetBrains :
- Сгенерируйте код для вашего проекта с помощью преобразования кода.
- Получайте автодополнения кода во время кодирования.
- Используйте разумные действия.
Если вы используете Gemini Code Assist Enterprise , вы можете воспользоваться функцией настройки кода , которая позволяет получать рекомендации по коду на основе закрытой кодовой базы вашей организации непосредственно из Gemini Code Assist Enterprise. Узнайте , как настроить настройку кода .
Этот документ предназначен для разработчиков любого уровня подготовки. Предполагается, что вы уже знакомы с VS Code, IntelliJ и другими поддерживаемыми JetBrains IDE. Вы также можете использовать Gemini в Android Studio .
Прежде чем начать
VS Код
- Настройте Gemini Code Assist для частных лиц , Gemini Code Assist Standard или Gemini Code Assist Enterprise, если вы еще этого не сделали. 
- Прежде чем тестировать возможности Gemini Code Assist в вашем файле кода, убедитесь, что язык программирования поддерживается. Подробнее о поддерживаемых языках программирования см. в разделе Поддерживаемые языки программирования . 
- Если вы предпочитаете использовать IDE через прокси-сервер, см. раздел Сетевые подключения в Visual Studio Code . 
IntelliJ
- Настройте Gemini Code Assist для частных лиц , Gemini Code Assist Standard или Gemini Code Assist Enterprise, если вы еще этого не сделали. 
- Прежде чем тестировать возможности Gemini Code Assist в вашем файле кода, убедитесь, что язык программирования поддерживается. Подробнее о поддерживаемых языках программирования см. в разделе Поддерживаемые языки программирования . 
- Если вы предпочитаете использовать IDE через прокси-сервер, см. HTTP-прокси . 
Генерация кода с подсказками
 В следующих разделах показано, как использовать Gemini Code Assist для генерации кода с помощью Function to create a Cloud Storage bucket внутри файла кода. Вы также можете выбрать фрагмент кода и обратиться к Gemini Code Assist за помощью через чат, а также получать и принимать или отклонять предложения по коду в процессе кодирования.
Помощь Gemini Code Assist с преобразованием кода
Преобразование кода позволяет использовать команды или подсказки на естественном языке в меню быстрого выбора для запроса изменений в коде, а также предоставляет просмотр различий для отображения ожидаемых изменений в коде. Чтобы запросить преобразование кода с помощью Gemini Code Assist, выполните следующие действия:
VS Код
- В файле кода на новой строке нажмите Control+I (для Windows и Linux) или Command+I (для macOS), чтобы открыть меню быстрого выбора Gemini Code Assist . 
- В меню с помощью команды - /generateвведите- /generate function to create a Cloud Storage bucket, а затем нажмите Enter (для Windows и Linux) или Return (для macOS). - Gemini Code Assist генерирует код на основе вашего запроса в представлении различий.  
- Необязательно: Чтобы принять эти изменения, нажмите Принять . 
IntelliJ
- В файле кода на новой строке нажмите Alt+\ (для Windows и Linux) или Cmd+\ (для macOS), чтобы открыть меню быстрого выбора Gemini Code Assist . 
- В меню с помощью команды - /generateвведите- /generate function to create a Cloud Storage bucket, а затем нажмите Enter (для Windows и Linux) или Return (для macOS). - Gemini Code Assist генерирует код на основе вашего запроса в представлении различий.  
- Необязательно: Чтобы принять эти изменения, нажмите Принять изменения . - Вы можете использовать следующие команды преобразования кода в вашей 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 Assist в файле кода с комментарием
При желании вы также можете добавить комментарий в файл кода Gemini Code Assist, выполнив следующие действия:
VS Код
- На новой строке введите комментарий - Function to create a Cloud Storage bucket, а затем нажмите Enter (для Windows и Linux) или Return (для macOS).
- Чтобы сгенерировать код, нажмите Control+Enter (для Windows и Linux) или Control+Return (для macOS). - Рядом с текстом подсказки в файле кода Gemini Code Assist генерирует код в виде скрытого текста. 
- Необязательно: Чтобы принять сгенерированный код, нажмите Tab . 
IntelliJ
- В файле кода на новой строке введите комментарий - Function to create a Cloud Storage bucket.
- Чтобы сгенерировать код, нажмите Alt+G (для Windows и Linux) или Option+G (для macOS). Также можно щелкнуть правой кнопкой мыши рядом с комментарием и выбрать «Сгенерировать код» . - Gemini Code Assist сгенерирует код под вашим комментарием в виде скрытого текста. 
- Необязательно: Чтобы принять сгенерированный код, нажмите Tab . 
Необязательно: измените сочетание клавиш для генерации кода.
Если сочетание клавиш по умолчанию для генерации кода не работает так, как описано в предыдущем разделе, вы можете изменить сочетание клавиш .
Получить автодополнения кода
Пока вы пишете код, Gemini Code Assist предлагает встроенные подсказки кода, также известные как автодополнения кода , которые вы можете принять или проигнорировать. Чтобы получить автодополнения кода, выполните следующие действия:
VS Код
- В файле кода, на новой строке, начните писать функцию. Например, если вы работаете в файле Python, напишите - def.- Gemini Code Assist предлагает код в виде скрытого текста. 
- Чтобы принять предложенный код от Gemini Code Assist, нажмите Tab . Чтобы проигнорировать предложение, нажмите Esc или продолжите ввод кода. 
IntelliJ
- В файле кода, на новой строке, начните писать функцию. Например, если вы работаете в файле Python, напишите - def.- Gemini Code Assist предлагает код в виде встроенных подсказок. 
- Чтобы принять предложенный код от Gemini Code Assist, нажмите Tab . Чтобы проигнорировать предложение, нажмите Esc или продолжите ввод кода. 
- Необязательно: если вы предпочитаете использовать другую комбинацию клавиш для принятия встроенной подсказки, наведите указатель мыши на неё и нажмите на раскрывающееся меню Tab . Затем выберите предпочитаемую комбинацию клавиш или нажмите «Настроить» , чтобы ввести собственную.  
Необязательно: отключить автодополнение кода
Автодополнение кода включено по умолчанию. Чтобы отключить его, выполните следующие действия:
VS Код
- В IDE нажмите «Код» (для macOS) или «Файл» (для Windows и Linux), а затем перейдите в «Настройки» > «Настройки» . 
- На вкладке Пользователь диалогового окна Настройки перейдите в раздел Расширения > Gemini Code Assist . 
- Прокрутите список, пока не найдете Geminicodeassist > Встроенные предложения: включить автоматический режим, а затем выберите Выкл . - Это отключит встроенные подсказки. Вы по-прежнему можете нажать Control+Enter (для Windows и Linux) или Control+Return (для macOS), чтобы вручную активировать встроенные подсказки. 
IntelliJ
В строке состояния вашей IDE нажмите spark Gemini Code Assist: Active и выберите Включить AI Code Completion .

Это отключает настройку автодополнения кода, и Gemini Code Assist больше не будет предлагать встроенные подсказки, пока вы снова не включите эту настройку.
Использовать прогнозы следующего редактирования
В то время как автодополнение кода предлагает только изменения в месте расположения курсора в файле кода, функция прогнозирования следующего редактирования выдает прогнозируемые предложения по коду по всему файлу, даже в местах, удаленных от курсора.
Вы можете включить функцию прогнозирования следующего редактирования в настройках вашей IDE.
Чтобы использовать прогнозы следующего редактирования в вашей IDE, выполните следующие действия:
VS Код
Чтобы начать использовать прогнозы следующего редактирования, включите настройку:
- Перейдите в настройки Управление > Настройки . 
- На вкладке Пользователь окна настроек перейдите в раздел Расширения > Gemini Code Assist . 
- Прокручивайте, пока не найдете Geminicodeassist > Встроенные предложения: Следующее редактирование прогнозов . 
- Установите флажок, чтобы включить функцию прогнозирования следующего редактирования в VS Code. 
Теперь, когда вы включили этот параметр, вы можете начать использовать прогнозы следующего редактирования в файле кода, выполнив следующие действия:
- Начните писать код в файле с кодом. Подсказки для редактирования появляются, когда вы останавливаетесь или прекращаете набор текста.  
- Нажмите Tab , чтобы принять предложенное следующее редактирование.  
- Если вы хотите принять следующее предложение, нажмите Tab ещё раз. Возможно, появится следующее предложение, и процесс можно повторить. В противном случае нажмите Esc , чтобы закрыть предложение, или продолжайте вводить текст, чтобы игнорировать его. - Нажав Tab для ввода предложения, вы можете навести указатель мыши на него, чтобы увидеть другие предложения, если они есть. Если предложений несколько, вы можете переключаться между ними, нажимая стрелки влево и вправо.  - При нажатии Esc для отмены предложения Gemini Code Assist перестаёт предлагать варианты для следующего редактирования для данного блока кода. Вы продолжаете получать предложения при переходе к другому разделу кода. 
IntelliJ
Чтобы начать использовать прогнозы следующего редактирования, включите настройку:
- Перейдите в Файл > Настройки > Инструменты > Gemini . 
- В разделе «Завершение » установите флажок «Следующие прогнозы редактирования», чтобы включить эту функцию. 
Теперь, когда вы включили этот параметр, вы можете начать использовать прогнозы следующего редактирования в файле кода, выполнив следующие действия:
- Начните писать код в файле с кодом. Подсказки для редактирования появляются, когда вы останавливаетесь или прекращаете набор текста.  
- Нажмите Tab , чтобы принять предложенное следующее редактирование.  
- Если вы хотите принять следующее предложение, нажмите Tab ещё раз. Возможно, появится следующее предложение, и процесс можно повторить. В противном случае нажмите Esc , чтобы закрыть предложение, или продолжайте вводить текст, чтобы игнорировать его. - При нажатии Esc для отмены предложения Gemini Code Assist перестаёт предлагать варианты для следующего редактирования для данного блока кода. Вы продолжаете получать предложения при переходе к другому разделу кода. 
Получайте более релевантные предложения с учетом контекста удаленного репозитория
Вы можете получать более контекстно-зависимые и релевантные предложения по коду, настроив Gemini Code Assist на работу с конкретными удалёнными репозиториями. Это полезно, когда ваша задача связана с определённым набором микросервисов, библиотек или модулей.
Прежде чем начать
Прежде чем использовать удаленный репозиторий в качестве контекста, необходимо сначала проиндексировать и настроить его для настройки кода .
Использовать удаленный репозиторий в качестве контекста
Чтобы указать Gemini Code Assist использовать один или несколько репозиториев в качестве основного контекста для ваших подсказок:
- В чате вашей IDE начните командную строку с символа @ . Появится список доступных индексированных удалённых репозиториев.
- Выберите из списка репозиторий (или репозитории), которые вы хотите использовать в контексте. Вы также можете начать вводить имя репозитория, чтобы отфильтровать список.
- После выбора репозиториев напишите остальную часть приглашения.
Затем Gemini Code Assist отдает приоритет выбранным репозиториям при формировании ответа.
Примеры подсказок
В этом разделе приведены примеры того, как можно получить более релевантные предложения с использованием контекста удаленного репозитория.
-  Понять репозиторий-  @REPOSITORY_NAME What is the overall structure of this repository?
-  @REPOSITORY_NAME I'm a new team member. Can you give me an overview of this repository's purpose and key modules?
 
-  
-  Генерация и изменение кода-  @REPOSITORY_NAME Implement an authentication function similar to the one in this repository.
-  @REPOSITORY_NAME Refactor the following code to follow the conventions in the selected repository.
-  Use the library-x in @REPOSITORY_A_NAME-A and implement the function-x
 
-  
-  Тест-  @UNIT_TEST_FILE_NAME Generate unit tests for module-x based on the examples in the selected file.
 
-  
Используя удаленные репозитории в качестве целевого источника контекста, вы можете получать более точные и релевантные предложения от Gemini Code Assist, которые помогут вам писать код быстрее и эффективнее.
Используйте умные действия
Чтобы помочь вам работать продуктивнее и минимизировать переключение контекста, Gemini Code Assist предлагает интеллектуальные действия на базе искусственного интеллекта прямо в редакторе кода. Выбрав код в редакторе, вы можете просмотреть список действий, соответствующих вашему контексту, и выбрать одно из них.
Чтобы использовать умные действия в своем коде, выполните следующие действия:
VS Код
- В файле кода выберите блок кода. 
- Рядом с выбранным блоком кода нажмите на lightbulb Показать действия кода .  
- Выберите действие, например «Создать модульные тесты» . - Gemini Code Assist генерирует ответ на основе выбранного вами действия. 
IntelliJ
- В файле кода выберите строку или блок кода. 
- Щелкните правой кнопкой мыши по выбранному коду и выберите смарт-действие, например «Сгенерировать модульные тесты» . - При выборе интеллектуального действия Gemini Code Assist автоматически сгенерирует ответ на запрос в окне инструментов Gemini Code Assist . 
Используйте быстрое решение для преобразования кода
Если в вашем коде есть ошибка, Gemini Code Assist дает вам возможность быстро исправить ее с помощью преобразования кода.
Чтобы применить быстрое исправление в файле кода, выполните следующие действия:
VS Код
- В файле кода наведите указатель мыши на волнистую линию с ошибкой и выберите Быстрое исправление , а затем выберите /fix .  
- После применения быстрого исправления появится окно сравнения. Чтобы принять изменения, нажмите «Принять» . 
IntelliJ
- В файле кода щелкните значок красной лампочки, указывающий на ошибку в коде, и выберите «Исправить с помощью Gemini» .  
- После применения исправления появится окно сравнения. Чтобы принять изменения, нажмите «Принять» . 
Исключить файлы из локального контекста
 По умолчанию Gemini Code Assist исключает файлы из локального использования в контексте автодополнения кода, генерации кода, преобразования кода и чата, если файлы указаны в файле .aiexclude или .gitignore .
Чтобы узнать, как исключить файлы из локального использования, ознакомьтесь с разделом Исключить файлы из использования Gemini Code Assist .
Отключить предложения кода, соответствующие цитируемым источникам
Gemini Code Assist предоставляет информацию о цитировании, когда он напрямую цитирует длинную версию другого источника, например, существующего открытого исходного кода. Подробнее см. в разделе «Как и когда Gemini цитирует источники» .
Чтобы запретить вам предлагать код, соответствующий цитируемым источникам, выполните следующие действия:
VS Код
- На панели активности вашей IDE нажмите Управление > Настройки . 
- На вкладке Пользователь окна настроек перейдите в раздел Расширения > Gemini Code Assist . 
- Прокручивайте, пока не найдете Geminicodeassist > Рецитация: максимальная длина цитирования . 
- Установите значение - 0.
Gemini Code Assist больше не предлагает вам код, соответствующий цитируемым источникам.
IntelliJ
- В строке состояния вашей IDE нажмите spark Gemini Code Assist: Active и выберите, затем выберите Настроить Gemini . 
- Разверните раздел Дополнительные настройки , а затем выберите Блокировать выборки, соответствующие внешним цитируемым источникам . 
- Нажмите ОК . 
Gemini Code Assist больше не предлагает вам код, соответствующий цитируемым источникам.
Известные проблемы
В этом разделе описаны известные проблемы Gemini Code Assist:
VS Код
- Ответы в чате могут быть обрезаны, если они содержат обновленную версию большого открытого файла. - Чтобы обойти эту проблему, выберите меньший фрагмент кода и включите в приглашение чата дополнительную директиву, например, - only output the selected code.
- Vim: невозможно принять или отклонить предложения по генерации кода, если только не активен режим вставки. - При использовании плагина Vim в обычном режиме вы не можете принимать или отклонять предложения по коду. - Чтобы обойти эту проблему, нажмите i, чтобы войти в режим вставки, а затем нажмите Tab, чтобы принять предложение. 
- Vim: Непоследовательное поведение при нажатии Esc для отклонения предложений - При нажатии Esc предложения IDE и Gemini Code Assist отключаются. Это поведение отличается от поведения без Vim, где нажатие Esc повторно запускает Gemini Code Assist. 
- Попытки входа в систему продолжают прерываться - Если при попытках входа в систему возникает задержка, попробуйте добавить параметр - cloudcode.beta.forceOobLoginв файл- settings.json:- "cloudcode.beta.forceOobLogin": true
- Предупреждения о необходимости повторения лицензии не сохраняются между сеансами - Если предупреждения об ошибках лицензии не сохраняются между сеансами, обратитесь к постоянным журналам: - Нажмите Вид > Вывод . 
- Выберите Gemini Code Assist - Citations . 
 
- Проблемы с подключением в окне вывода 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
IntelliJ
Известных проблем с Gemini Code Assist для IntelliJ и других поддерживаемых IDE JetBrains нет.
Оставить отзыв
Чтобы оставить отзыв о своем опыте, ознакомьтесь со статьей «Оставьте отзыв о Gemini для Google Cloud» .