Jeddict AI Assistant - подключение ИИ к Netbeans
Быстрый запуск помощника Jeddict AI Assistant
https://jeddict.github.io/page.html?l=tutorial/AI
Jeddict AI Assistant для Apache NetBeans - это мощный и интуитивно понятный плагин, предназначенный для интеграции функций, управляемых искусственным интеллектом, в среду IDE Apache NetBeans, предлагая специализированную поддержку разработчикам, работающим с Jakarta EE. (Впрочем, этот плагин может работать с любым контентом, дело в предустановках плагина - примечание переводчика.) Этот плагин использует возможности OpenAI (а так же, Ollama AI, устанавливаемый локально, и кучи других систем ИИ) для предоставления предложений в режиме реального времени, улучшений кода, информации о документации и лучших практиках, что значительно сокращает время разработки и повышает качество кода. Он особенно хорошо подходит разработчикам, работающим над сложными корпоративными приложениями, построенными на технологиях Jakarta EE, и предлагает индивидуальные рекомендации, основанные на контексте кода и структуре проекта.
Ключевые компоненты Jeddict AI Assistant
ИИ-ассистент Jeddict в основном состоит из трех основных компонентов:
- AI-Powered Hints: Это разумные предложения, которые помогают разработчикам усовершенствовать свой код, документацию и общую структуру приложения.
- AI-Powered Inline Smart Code Completion: Эта функция предлагает рекомендации по завершению кода с учетом контекста, помогая разработчикам писать код более эффективно и с повышенной точностью.
- AI Chat with Context Awareness: Этот компонент позволяет разработчикам взаимодействовать с ИИ в диалоговой манере, предоставляя информацию, основанную на конкретном контексте их кода и проектов.
Скачайте помощника по искусственному интеллекту Jeddict
Начните использовать Jeddict AI Assistant для Apache NetBeans, загрузив плагин с официального портала плагинов Apache NetBeans.
Нажмите на ссылку ниже, чтобы перейти на страницу загрузки:
https://plugins.netbeans.apache.org/catalogue/?id=103
Примечание: Этот плагин не входит в комплект поставки плагина Jeddict и не зависит от него. Вам нужно будет установить его самостоятельно, чтобы получить доступ к его функциям.
Основные функции и поддержка
AI Assistant предоставляет множество интеллектуальных подсказок и рекомендаций, улучшающих различные аспекты разработки приложений. Ниже приведены поддерживаемые функции и подсказки, которые предлагает плагин:
Интеллектуальное завершение кода
Повысьте производительность благодаря завершению кода с помощью искусственного интеллекта, предлагая контекстно-зависимые рекомендации по завершению кода, переименованию переменных и методов, а также улучшению сообщений журнала или комментариев.
Как использовать: Нажмите Ctrl+пробел или Ctrl+Alt+Пробел, чтобы просмотреть список соответствующих предложений.
Примечание: Сочетания клавиш Ctrl+пробел или Ctrl+Alt+Пробел можно переключать и настраивать с помощью меню Сервис > Параметры > Вкладка Jeddict AI Assistant (Tools > Options > Jeddict AI Assistant > Inline Completion) Встроенное завершение.
Встроенная подсказка
Функция "Встроенной подсказки" позволяет разработчикам получать предложения, сгенерированные с помощью искусственного интеллекта, непосредственно в редакторе кода. Когда вы нажимаете Enter во время редактирования строки кода, помощник с помощью искусственного интеллекта отображает встроенную подсказку, основанную на контексте кода, над которым вы работаете. Эта встроенная подсказка появляется в самом редакторе кода, обеспечивая немедленную помощь, не нарушая ваш рабочий процесс.
Чтобы использовать эту функцию:
- При редактировании исходного кода нажмите клавишу Enter, чтобы вызвать встроенную подсказку AI Assistant для текущей строки кода.
- Предложение будет отображено в встроенном виде в редакторе.
- Нажмите Enter еще раз, чтобы подтвердить предложение и интегрировать его в свой код, или нажмите любую другую клавишу, чтобы отменить операцию и отклонить подсказку.
Эта функциональность расширяет возможности программирования, предлагая контекстные рекомендации, которые могут повысить качество и эффективность кода, не требуя от вас отхода от текущей задачи.
Предоставление контекста для встроенной подсказки
По умолчанию функция встроенных подсказок использует существующий код вокруг курсора в качестве контекста для генерации следующих возможных строк. Однако вы также можете ввести пользовательские данные для более эффективного управления ИИ:
- Используйте комментарии в качестве подсказок: Напишите комментарий в исходном коде, описывающий то, что вы хотите, затем нажмите Enter. Комментарий вместе с текущим кодом будет использоваться в качестве контекста.
- Используйте сохраненные подсказки: Вы можете задать более длинные приглашения в настройках и повторно использовать их в редакторе, набрав /${prompt-id} и нажав Enter. Полное сохраненное приглашение будет отправлено в AI.
- Расширяйте сохраненные подсказки на лету: Добавьте дополнительную информацию, используя /${prompt-id} в качестве дополнительного контекста. Искусственный интеллект обработает как сохраненное приглашение, так и добавленный вами текст.
Эти методы дают вам точный контроль над предложениями искусственного интеллекта, помогая более точно адаптировать их к вашей текущей задаче.
Усовершенствование метода
Улучшите логику, структуру или эффективность методов, используя усовершенствования на базе искусственного интеллекта, адаптированные к конкретным требованиям вашего проекта.
Как использовать: Выделите любой метод и нажмите на подсказку: "AI: Enhance the method"(ИИ: усовершенствование метода)
Создание Javadoc
Автоматически генерируйте Javadoc для любого метода, класса или интерфейса с помощью искусственного интеллекта, обеспечивая всестороннюю и хорошо структурированную документацию, основанную на контексте кода.
Как использовать: Выделите любой класс и нажмите на подсказку: "AI: Create Javadoc using assistance"(ИИ: Создать Javadoc с помощью асистента)
Улучшение Javadoc
Улучшайте и расширяйте существующие комментарии Javadoc, используя предложения искусственного интеллекта, обеспечивая ясность, точность и лучшие практики.
Как использовать: Выделите любой класс и нажмите на подсказку: "AI: Enhance existing Javadoc"(ИИ: Улучшение существующего Javadoc)
Переменные предложения именования
Автоматически предлагает более значимые и контекстуально соответствующие имена переменных, улучшая читаемость кода и обслуживаемость.
Как использовать: Выделите любую переменную/парамет и нажмите подсказку: "AI: Improve variable name using assistance"(ИИ: улучшить имя переменной, используя асистента)
Исправления грамматики
Выявляйте и исправляйте грамматические ошибки в комментариях, Javadoc или других текстовых компонентах вашего кода, обеспечивая профессиональную и безупречную документацию.
Как использовать: Выделите любой строковый текстовый литерал и нажмите подсказку: "AI: Fix grammar issues using assistance"(ИИ: Исправь проблемы с грамматикой, используя асистента)
Усовершенствование текста
Улучшите качество и читаемость текстового контента (например, комментарии, документация или сообщения журнала), предоставляя более краткие и эффективные альтернативы.
Как использовать: Выберите любой буквальный текст строки и нажмите подсказку: "AI: Enhance text quality using assistance"(ИИ: повышение качества текста с помощью асистента)
Усовершенствование строки кода
Предложите усовершенствования или оптимизацию для отдельных строк кода, обеспечивая краткие, эффективные и поддерживаемые выражения.
Как использовать: Выберите любой фрагмент отдельной строки и нажмите подсказку: "AI: Enhance a single line of code"(ИИ: Улучшить одну строку кода)
Узнайте о классе
Предоставьте информацию и подробные объяснения о конкретном классе, включая его методы, свойства и использование в проекте, и продолжайте общение в чате, чтобы задавать конкретные вопросы.
Как использовать: Выделите название класса и нажмите на подсказку: "AI: Learn about Class"(ИИ: Узнать о классе)
Создание тестовых примеров
Автоматически создавайте тестовые примеры для ваших классов или методов на основе контекстных подсказок, предоставляемых AI Assistant. Эта функция упрощает процесс написания тестов, гарантируя тщательное тестирование вашего кода и соответствие лучшим практикам.
Как использовать: Выделите любой класс или метод и нажмите на подсказку: "AI: Generate Test for Class or Method"(ИИ: генерировать тест для класса или метода)
Чат с ИИ, учитывающий контекст проекта
Участвуйте в диалогах с искусственным интеллектом, которые учитывают весь контекст проекта, позволяя получать всестороннюю информацию и поддержку с учетом структуры и компонентов вашего проекта.
Как использовать: Щелкните правой кнопкой мыши на проекте и выберите "AI Assistant", чтобы запустить чат с искусственным интеллектом, пока проект открыт, что позволит вам получать ответы с учетом контекста.
Java-пакеты и классы с контекстно-зависимым AI-чатом
Взаимодействуйте с ИИ в отношении конкретных пакетов или классов Java, получая информацию и рекомендации, которые отражают контекст конкретного пакета или класса, на котором вы сосредоточены.
Как использовать: Выберите нужные пакеты или классы, щелкните правой кнопкой мыши и выберите "AI Assistant", чтобы начать чат и получать индивидуальные ответы.
Индивидуальный чат с ИИ для отдельных классов Java от редактора
Участвуйте в целенаправленных обсуждениях с AI Assistant по одному классу Java, получая подробный анализ и предложения по улучшению, разработанные специально для этого класса.
Как использовать: Откройте нужный класс Java в редакторе, щелкните правой кнопкой мыши и выберите "AI Assistant", чтобы начать целенаправленный диалог с учетом контекста.
Как AI Assistant адаптируется в зависимости от Вашего взаимодействия:
- Когда выбран определенный фрагмент кода: AI Assistant анализирует только выделенный код, фокусируясь исключительно на выбранной части для получения предложений и анализа без учета более широкого контекста класса.
- Когда весь класс будет открыт в редакторе: AI Assistant получает доступ ко всему контексту класса. Это позволяет получать более подробные ответы и предложения, основанные на полном дизайне класса.
Таким образом, выбор фрагмента сужает анализ только до этого раздела, в то время как открытие всего класса дает более широкое представление о более насыщенных взаимодействиях с учетом контекста.
Контекстно-зависимый AI-чат для Веб-разработки (HTML, CSS, JS, JSF)
Общение с ИИ относительно компонентов веб-приложений, таких как HTML, CSS, JavaScript и JSF, обеспечивает контекстно-зависимую поддержку и рекомендации, относящиеся к веб-разработке.
Как использовать: Выберите каталог webapp или любой дочерний каталог, щелкните правой кнопкой мыши и выберите "AI Assistant", чтобы запустить чат во время работы с веб-файлами для получения соответствующей информации.
Общий чат с ИИ (Контекст не требуется)
Используйте функцию AI-чата вне контекста вашего кода или проекта, позволяя задавать общие вопросы или вести обсуждения, не привязанные к конкретным элементам кода, что делает его экономически эффективным и быстрым.
Как использовать: Нажмите кнопку Jeddict на верхней панели инструментов.
Функция и настройки окна чата
Окно чата предоставляет возможности для взаимодействия с искусственным интеллектом, включая файлы, относящиеся к текущему контексту чата. Оно включает в себя следующие функции:
- Пользовательские общие правила: Пользователи могут определять конкретные правила, которые будут последовательно применяться во время взаимодействия в чате, повышая персонализацию взаимодействия.
- Поддержка перетаскивания файлов и пакетов: Пользователи могут перетаскивать файлы или пакеты Java из своей операционной системы или непосредственно из обозревателя проектов NetBeans в панель ввода чата. Эти файлы автоматически добавляются в текущий контекст чата и включаются в диалог, что упрощает использование соответствующего кода или документации.
- Просмотр файлов в контексте чата: Эта опция позволяет пользователям видеть, какие файлы включены в текущий контекст чата, обеспечивая ясность и актуальность разговора.
- Скопировать в буфер обмена: Пользователи могут легко скопировать весь созданный контент в буфер обмена для дальнейшего использования, что упрощает рабочий процесс.
- Сохранить в файловой системе: Сгенерированный исходный код может быть сохранен непосредственно в файловой системе, что обеспечивает легкий доступ и организацию выходных данных.
- Обновить источник в редакторе: Эта экспериментальная функция позволяет пользователям обновлять исходный код непосредственно в редакторе, что делает AI Assistant более интегрированным и зависящим от контекста. Мы активно работаем над улучшением этой функции, чтобы сделать ее более интеллектуальной, гарантируя, что она лучше понимает контекст текущего диалога и потребности пользователей. В будущем эта функция изменит правила игры и повысит производительность разработчиков.
- Просмотр истории чата: Пользователи могут просматривать предыдущие взаимодействия в чате, предоставляя информацию о прошлых запросах и ответах.
- Сбросить настройки чата: Эта опция позволяет пользователям очистить всю историю чата, начав новый разговор без предварительного контекста.
- Последняя отправленная история чата: По каждому заданному вопросу в модель искусственного интеллекта отправляется только самая свежая история чата, что оптимизирует производительность и актуальность ответов.
Узнайте больше о контекстных правилах, областях применения и анализе кода.
Поддержка интернационализации
Вы можете настроить ИИ на то, чтобы он отвечал на определенном языке, установив глобальное правило Global Rule на панели настроек. Например, используйте "Отвечать на французском", чтобы получать ответы на французском языке.
Подсказки по шрифтам: Большинство языков хорошо работают со шрифтами по умолчанию, но для некоторых языков, таких как хинди, вам может потребоваться использовать совместимый шрифт, такой как Nirmala UI, чтобы правильно отобразить текст в окне чата и редакторе.
Это обеспечивает плавное многоязычное взаимодействие и делает AI Assistant более доступным и полезным для разработчиков из разных регионов и с разными языковыми предпочтениями.
Поддержка PlantUML и Markdown в чате
Теперь вы можете просматривать и редактировать диаграммы PlantUML и Markdown content прямо в окне чата. Когда вы запрашиваете диаграмму или форматированный текст, они отображаются мгновенно, чтобы вы могли просмотреть их и внести изменения перед отправкой.
Редактирование на месте: Просто нажмите на диаграмму или блок markdown, чтобы отредактировать его прямо в чате.
Примечание: Любые внесенные вами изменения не будут отправлены в AI до тех пор, пока вы явно не скопируете и не вставите обновленный контент в поле ввода и не отправите их. Это дает вам полный контроль перед обновлением диалога.
Эта функция позволяет легко создавать, настраивать и уточнять диаграммы и документацию без переключения инструментов — отлично подходит для более быстрой обратной связи и улучшения коммуникации.
Сообщение о фиксации ИИ (commit AI)
Генерируйте значимые сообщения о фиксации на основе различий, обнаруженных в вашем репозитории Git. Эта функция анализирует "git diff" и "git status" для создания кратких и информативных сообщений о фиксации, оптимизируя рабочий процесс управления версиями.
Как использовать: Щелкните правой кнопкой мыши на проекте и выберите "Сообщение о фиксации AI", чтобы автоматически сгенерировать сообщение о фиксации. Эта опция будет отображаться только после обнаружения изменений Git.
SQL AI Чат-ассистент
Чтобы получить доступ к SQL AI Chat Assistant, перейдите в Службы> Базы данных> Зарегистрировать базу данных в Apache NetBeans (Services > Databases > Register DB in Apache NetBeans). Щелкните правой кнопкой мыши на подключении к базе данных и выберите AI Assistant. Это действие запустит окно AI Chat, в котором будет представлен контекстный фон на основе вашей базы данных. Искусственный интеллект будет генерировать результаты, которые отображаются в редакторе SQL, позволяя вам использовать ИИ для интеллектуального выполнения SQL-запросовs непосредственно в том же окне чата, тем самым повышая вашу производительность и эффективность управления базами данных.
Встроенное завершение SQL с ИИ
Благодаря встроенному завершению SQL с помощью ИИ, которое доступно в окне "Выполнить команду", вы сможете еще лучше освоить программирование. Чтобы открыть эту функциональность, перейдите в "Службы" > "Базы данных" > "Зарегистрировать базу данных" (Services > Databases > Register DB in Apache NetBeans), в Apache NetBeans, щелкните правой кнопкой мыши на подключении к базе данных и выберите "Выполнить команду" (Execute Command).... Откроется новое окно, в котором вы сможете создавать SQL-запросы. Здесь вам помогут подсказки по встроенному завершению с использованием искусственного интеллекта, и вы можете выполнить запрос в том же окне, чтобы мгновенно просмотреть результаты, что оптимизирует ваш рабочий процесс и сокращает время, затрачиваемое на формулирование запроса.
Настройки AI jeddict
Вы можете получить доступ к панели настроек Jeddict AI из меню основных настроек приложения или конфигурации, которое обычно находится в разделе Сервис > Параметры > Jeddict AI Assistant (Tools > Options > Jeddict AI Assistant)
Поставщики услуг и глобальные настройки
Поставщики услуг (Providers)
Плагин поддерживает настраиваемые модели и ключи искусственного интеллекта, что позволяет разработчикам легко интегрировать свои учетные записи OpenAI и других поставщиков. Убедитесь, что у вас есть необходимый API-ключ и модель, основанные на выбранном поставщике, для оптимальной интеграции.
Поддерживаемые поставщики включают:
- OPEN_AI: Документация по моделям, Ключи API
- CUSTOM_OPEN_AI: Конфигурации OpenAI с пользовательским URI поставщика.
- GOOGLE: Документация по моделям, Ключи API
- DEEPINFRA: Документация по моделям, Ключи API
- DEEPSEEK: Документация по API, Ключи API
- GROQ: Документация по моделям, Ключи API
- MISTRAL: Документация по моделям, Ключи API
- ANTHROPIC: Документация по моделям, Ключи API
- OLLAMA: Документация по моделям
- LM_STUDIO: Документация по моделям
- GPT4ALL: Документация по моделям
Отключение помощи ИИ
Если вы хотите отключить Jeddict AI Assistant, перейдите в меню Сервис> Параметры> Редактор> AI Assistance (Tools > Options > Editor > AI Assistance) и снимите флажок Активировать AI Assistance (Activate AI Assistance).
Настройки провайдера (Provider Settings)
Активация режима потоковой передачи
Опция "Включить потоковую передачу" (Enable Stream) значительно повышает оперативность работы AI Assistant, делая взаимодействие с ним более плавным и увлекательным. Активировав эту функцию, пользователи смогут наслаждаться динамичной и интерактивной средой чата, обеспечивая более быструю реакцию и плавный рабочий процесс в окне чата. Это особенно полезно во время сложных дискуссий, когда оперативная обратная связь необходима для поддержания темпа беседы.
Настройки чата
Расширения файлов для включения в контекст (File Extensions to Include in Context)
Расширения файлов, которые следует включить в контекстную настройку (The File Extensions to Include in Context), позволяют вам указать, какие типы файлов должен учитывать AI assistant при анализе вашей кодовой базы. Это помогает предоставлять более точные рекомендации на основе указанных типов файлов.
Вы можете ввести несколько расширений файлов, разделенных запятыми. Например:
java, php, jsf, kt, groovy, scala, xml, json, yaml, yml, properties, txt, md, js, ts, css, scss, html, xhtml, sh, bat, sql, jsp, rb, cs, go, swift, rs, c, cpp, h, py
Каталоги и файлы, которые необходимо исключить из контекста (Directories and Files to Exclude from Context)
Параметр Каталоги и файлы, которые следует исключить из контекста, позволяет указать конкретные каталоги или файлы, которые AI assistant должен игнорировать во время анализа. Это особенно полезно для повышения производительности и точности, концентрируясь на наиболее важных разделах вашей кодовой базы.
Эта настройка применима на уровне проекта в чате ИИ. Для оптимизации результатов, пожалуйста, укажите каталоги и файлы, которые вы хотите исключить, чтобы ассистент искусственного интеллекта мог сосредоточиться на наиболее важных данных для вашего проекта.
Размещение окна чата
Вы также можете настроить расположение окна чата, используя опцию размещения AI Assistant по умолчанию (Default AI Assistant Placement). Это позволяет вам выбрать, будет ли интерфейс AI-чата отображаться слева, в центре или справа от окна IDE, в зависимости от ваших личных предпочтений в отношении расположения для повышения доступности и эффективности рабочего процесса.
Исключение комментариев Javadoc (Excluding Javadoc Comments)
Функция исключения комментариев Javadoc из контекста (Exclude Javadoc Comments in Context) позволяет ИИ-ассистенту игнорировать комментарии Javadoc во время анализа кода. Эта возможность помогает оптимизировать использование токенов, тем самым повышая производительность и точность. Избегая ненужного ввода информации из комментариев Javadoc, ассистент по ИИ может более эффективно сосредоточиться на основных элементах кода, что приводит к более актуальным и точным предложениям при сохранении ясности и эффективности предоставляемых рекомендаций.
Параметры встроенного завершения (Inline Completion Settings)
Узнайте больше об анализе контекста кода.
Анализ контекста кода (по умолчанию) (Code Context Analysis (Default))
В настройках настройте область контекста, чтобы определить диапазон классов, которые будет анализировать AI Assistant. В число опций входят:
- Текущий класс (Current Class): Сосредоточиться на текущем анализируемом классе.
- Ссылочные классы (Referenced Classes): Включить все классы, указанные в текущем классе.
- Текущий пакет (Current Package): Изучить все классы в текущем пакете, а также те, на которые ссылается текущий класс.
- Весь проект целиком (Entire Project): Охватить все классы во всем проекте.
Анализ контекста кода для определения имени переменной, имени метода, строковых литералов (Code Context Analysis for Variable Name, Method Name, String Literals)
Настройте область контекста специально для присвоения имен переменным, методам или генерации строк/текстовых блоков, поскольку для этого обычно не требуется большая область контекста. В число опций входят:
- Текущий класс (Current Class): Сосредотоиться на текущем анализируемом классе.
- Классы, на которые ссылаются (Referenced Classes): Включить все классы, на которые ссылаются из текущего класса.
- Текущий пакет (Current Package): Изучить все классы в текущем пакете, а также те, на которые ссылается текущий класс.Изучите все классы в текущем пакете, а также те, на которые ссылается текущий класс.
- Весь проект (Entire Project): Охватить все классы во всем проекте.
Показать фрагмент с описанием (Show Snippet with Description)
Включить опцию отображения описания рядом с фрагментами встроенного кода для лучшего понимания предложений, генерируемых искусственным интеллектом. Это помогает объяснить логику, лежащую в основе предлагаемого кода.
Встроенная подсказка (Inline Hint)
Узнайте больше об анализе контекста кода.
Запросить функцию или сообщить о проблеме
Мы ценим ваши отзывы! Если у вас есть предложения по новым функциям или возникли какие-либо проблемы при использовании Jeddict AI Assistant, пожалуйста, сообщите нам об этом. Вы можете запросить новые функции или сообщить о проблемах, посетив наш репозиторий на GitHub:
“У вас есть возможность использовать истинную мощь искусственного интеллекта, разумно определяя контекст, создавая точные подсказки и используя отфильтрованные настройки. Вместе мы рады расширять границы инноваций, исследуя и внедряя все больше передовых функций в постоянно развивающемся технологическом ландшафте!”
- Jeddict Team