В этом документе описывается, как использовать функцию настройки кода Gemini Code Assist , и приводятся несколько рекомендаций по её применению. Эта функция позволяет получать рекомендации по коду, основанные на внутренних библиотеках, закрытых API и стиле кодирования вашей организации.
Прежде чем начать
- Настройте Gemini Code Assist с помощью корпоративной подписки .
- Настройте параметры персонализации кода в Gemini Code Assist .
Как использовать настройку кода
В таблице ниже перечислены способы использования функции настройки кода Gemini Code Assist:
| Форма | Как запустить | Примечания и ресурсы |
|---|---|---|
Чат на естественном языке | Введите подсказку на естественном языке в чате Gemini Code Assist в IDE. | Рассмотрим следующее:
Для получения более подробной информации см. раздел «Чат с Gemini Code Assist» . |
| Сгенерировать код | В панели быстрого выбора в вашей IDE, независимо от того, выделен код или нет, нажмите Command+Enter (в macOS) или Control+Enter . | Для получения более подробной информации см. раздел «Генерация кода с подсказками» . |
| Код преобразования | В панели быстрого выбора в вашей IDE, независимо от того, выделен код или нет, введите /fix . | Для получения более подробной информации см. раздел «Генерация кода с подсказками» . |
| Автозаполнение | Функция настройки кода запускается автоматически и предлагает варианты, основанные на написанном вами тексте. | Рассмотрим следующее:
Для получения более подробной информации см. раздел «Получение автозавершения кода» . |
| Контекст удаленного репозитория |
| Контекст удаленного репозитория полезен, когда вы работаете над задачей, которая в основном связана с определенным набором микросервисов, библиотек или модулей. Для получения более подробной информации см. раздел «Получайте более релевантные предложения с учетом контекста удаленного репозитория» . |
Примеры использования и примеры подсказок
В таблице ниже приведены рекомендации и примеры использования персонализации кода в конкретных сценариях:
| Вариант использования | Что стоит попробовать |
|---|---|
| Написание нового кода | Попробуйте следующий способ генерации кода в вашей IDE или чате Gemini Code Assist:
Попробуйте сгенерировать код, используя следующие подсказки в чате Gemini Code Assist:
После того, как вы сгенерируете код, попробуйте использовать подсказку для его улучшения:
|
| Очистка, упрощение и рефакторинг кода. | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
| Читабельность | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
| Проверка кода | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
| Отладка | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
| Обучение и адаптация | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
| Миграция | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
Попробуйте следующий рабочий процесс преобразования кода с использованием чата или генерации кода, используя подсказки:
|
| Создание документации | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
| генерация модульных тестов | Попробуйте выполнить следующие действия в чате Gemini Code Assist:
|
Передовые методы
- Используйте соответствующие имена переменных и функций или фрагменты кода. Это поможет настроить код, выбрав наиболее подходящие примеры.
- Используйте репозитории индексов, которые вы хотите масштабировать, и избегайте добавления устаревшей функциональности. Настройка кода помогает масштабировать его в соответствии со стилем кода, шаблонами, семантикой кода, знаниями и реализациями в рамках всей кодовой базы. Плохими примерами масштабируемых репозиториев являются устаревшая функциональность, сгенерированный код и устаревшие реализации.
- Для задач поиска кода используйте функцию генерации кода вместо автозавершения кода . Используйте подсказки, например: «Используя определение
FUNCTION_NAME, сгенерируйте точно такую же функцию» или «Сгенерируйте точную реализациюFUNCTION_NAME». - Для повышения контекстной осведомленности Gemini необходимо включить в файл необходимые директивы include или import для кода, который вы хотите получить .
- Для каждого запроса выполняйте только одно действие. Например, если вы хотите получить код и использовать его в новой функции, выполните эти шаги для двух запросов.
- Для случаев, когда вам нужно больше, чем просто код (например, объяснение кода, план миграции или объяснение ошибок), используйте настройку кода в чате, где вы можете общаться с Gemini, используя контекст вашей кодовой базы.
- Обратите внимание, что генерация модели ИИ является детерминированной . Если вас не устраивает ответ, повторное выполнение того же запроса может дать лучший результат.
- Обратите внимание, что генерация модульных тестов обычно работает лучше, если вы откроете файл локально, а затем через чат запросите генерацию модульных тестов для этого файла или конкретной функции.
Получайте более релевантные предложения, используя контекст удаленного репозитория.
Чтобы получать более контекстно-ориентированные и релевантные подсказки по коду, настройте Gemini Code Assist на работу с конкретными удаленными репозиториями. Используя символ @ в чате, вы можете выбрать один или несколько репозиториев, которые будут использоваться в качестве основного источника контекста для ваших подсказок. Это полезно, когда вы работаете над задачей, которая в основном связана с определенным набором микросервисов, библиотек или модулей.
Чтобы использовать удалённый репозиторий в качестве контекста, выполните следующие действия в чате вашей IDE:
- Начните ввод командной строки с символа @ . Появится список доступных индексированных удалённых репозиториев.
- Выберите из списка репозиторий, который хотите использовать в качестве контекста. Вы также можете начать вводить название репозитория, чтобы отфильтровать список.
- После выбора репозитория напишите остальную часть запроса.
Затем Gemini отдаст приоритет выбранному репозиторию при формировании ответа.
Примеры подсказок
Вот несколько примеров того, как можно использовать эту функцию:
- Чтобы понять, что такое репозиторий:
- " @
REPOSITORY_NAMEКакова общая структура этого репозитория?" - « @REPOSITORY_NAME Я новый член команды. Не могли бы вы рассказать мне о назначении этого репозитория и
REPOSITORY_NAMEключевых модулях?»
- " @
- Для генерации и изменения кода:
- " @
REPOSITORY_NAMEРеализуйте функцию аутентификации, аналогичную той, что находится в этом репозитории." - " @
REPOSITORY_NAMEИзмените следующий код в соответствии с соглашениями, принятыми в выбранном репозитории." - " @
REPOSITORY_A_NAMEКак я могу использовать новейшие функции из этого репозитория для улучшения своего кода вREPOSITORY_B_NAME?"
- " @
- Для тестирования:
- " @
UNIT_TEST_FILE_NAMEСгенерировать модульные тесты дляMODULEна основе примеров из выбранного файла."
- " @
Используя удалённые репозитории в качестве целенаправленного источника контекста, вы можете получать более точные и релевантные подсказки от Gemini Code Assist, что поможет вам писать код быстрее и эффективнее.