Что нового в DataGrip 2024.2

Встречайте DataGrip 2024.2!

Это второе крупное обновление в 2024 году. Подробно рассказываем о новых возможностях и улучшениях в этом релизе.

Скачать

Новый интерфейс включен по умолчанию

Первое и главное: новый интерфейс теперь включен по умолчанию у всех пользователей.

Мы представили новый интерфейс JetBrains IDE два года назад и с тех пор постоянно его дорабатывали. Мы внимательно изучали ваши отзывы и улучшали новый интерфейс, чтобы переход на него был для вас максимально комфортным. В последних релизах мы заметили, что новый интерфейс пользуется популярностью, а с основными проблемами, о которых вы сообщали, мы справились.

Считаем, что пришло время сделать его стандартным вариантом для всех. Начиная с версии 2024.2 JetBrains IDE, он будет включен по умолчанию.

Если вы предпочитаете классический интерфейс, то можете установить соответствующий плагин из JetBrains Marketplace.

Возможности AI Assistant

Мы вложили много сил в разработку и улучшение плагина AI Assistant для DataGrip. В этой версии вас ждет много новых функций для работы с базами данных.

Генерация SQL по текстовому запросу

Вы можете попросить AI Assistant сгенерировать SQL-код прямо в редакторе: нажмите кнопку Generate Code with AI на панели инструментов и введите свой промт. Например: «Add queries that will create a books table and populate it with three sample rows» («Добавь запросы, чтобы создать таблицу книг и заполнить в ней три строки в качестве образца»).

Когда AI Assistant сгенерирует код, вы можете использовать полученный результат, сгенерировать код еще раз или уточнить запрос, нажав на соответствующие кнопки в нижней части панели вариантов. Кроме того, вы можете скопировать сгенерированный код в чат-бот и задать там любые вопросы.

Упоминания объектов баз данных и файлов в чате с AI Assistant

Вы можете добавить схему базы данных к чату с AI Assistant, просто упомянув ее в запросе: укажите имя схемы базы данных, поставив перед ним #. Например: «Создай запрос для получения всех имен актеров из #public».

AI Assistant проанализирует схему и сгенерирует запрос к базе данных.

Эта функция особенно удобна в других JetBrains IDE, поскольку там нет других способов добавления схемы базы данных в чат-бот.

Можно также указать конкретные файлы из добавленной папки. Это может потребоваться, если AI Assistant должен использовать контекст конкретного скрипта.

Объяснение и устранение проблем в SQL с помощью intention-действий

Теперь с помощью AI Assistant стало проще разобраться в проблемах SQL и устранить их. Если уровень значимости проблемы выше Weak warning, AI Assistant предложит объяснение и вариант устранения.

Чтобы получить объяснение, вызовите intention-действия: выберите выделенный код и нажмите ⌥⏎ / Alt+Enter, затем выберите AI Actions, а потом Explain SQL problem under caret. AI Assistant предложит свое объяснение в чате.

Чтобы устранить проблему, во всплывающем окне AI Actions выберите Fix SQL problem under caret. AI Assistant вставит исправленный вариант кода SQL вместо имеющегося.

Чтобы получить правильные объяснения и варианты исправления, вам может потребоваться добавить схему базы данных.

Изменение таблиц

В новой версии AI Assistant может помочь вам изменить таблицы. В диалоге Modify нажмите кнопку AI Assistant. Откроется диалог AI Assistant, где можно попросить AI Assistant выполнить необходимые действия, например: «Измени все типы данных VARCHAR на CHAR”.

Когда AI Assistant сгенерирует нужный код, вы сможете увидеть его в панели предпросмотра этого диалога.

Работа с данными

Скрипты-загрузчики: настройка импорта

В новой версии можно импортировать данные из файлов таблиц. Мы реализовали скрипты-загрузчики для импорта данных из файлов следующих форматов:

  • Excel
  • JSON
  • Parquet
  • Shapefile

Чтобы импортировать данные, перетащите файл из окна Files в схему в проводнике баз данных и задайте настройки импорта в диалоге Import.

Кроме того, DataGrip может теперь отображать содержимое файлов таблиц в редакторе данных. Чтобы открыть файлы, просто нажмите на них в окне Files. Чтобы отключить эту функцию, в меню Settings | Advanced Settings найдите настройку Open file as table if detected by scripted loader и выберите None.

Внимание! Поскольку загрузчики представляют собой скрипт, вы можете написать свой вариант и использовать его. Чтобы добавить пользовательские скрипты-загрузчики, сохраните их в специальную директорию Scratches and Consoles | Extensions | Database Tools and SQL | data | loaders.

Инструмент просмотра географических данных из файлов таблиц

Инструмент Geo viewer позволяет просматривать географические данные, сохраненные в файлах CSV, XLSX и других поддерживаемых форматов.

Навигация по связанным строкам с помощью плавающей панели инструментов

Теперь переходить к связанным строкам стало гораздо проще благодаря плавающую панель инструментов в ячейке таблицы. Просто нажмите на ячейку, а затем на иконку Related Rows на плавающей панели.

Чтобы удалить это действие из плавающей панели, откройте ее, нажмите More, а затем Customize This Toolbar. В диалоге Customize Grid Floating Toolbar выберите действие и нажмите Remove. Если вы хотите вернуть действие на панель инструментов, зайдите в меню Settings | Appearance & Behavior | Menus and Toolbars, выберите Grid Floating Toolbar и нажмите Add.

Кроме того, мы упростили порядок выполнения этого действия. Раньше варианты его поведения появлялись во всплывающем окне, когда пользователь выбирал действие в контекстном меню ячейки. В новой версии мы создали селектор вариантов поведения Related Rows action behavior в меню Settings | Advanced Settings. Вариант Navigate And Select First позволяет выбрать первую из найденных строк, при этом все строки отображаются в таблице. Если выбрать вариант Navigate And Filter All, будут показаны только строки, на которые есть ссылки.

Открытие веб-ссылок через плавающую панель инструментов

С помощью новой плавающей панели инструментов можно также открывать веб-ссылки.

По умолчанию эта функция отключена для обеспечения безопасности. Ее можно включить в меню Settings/Preferences | Database | Data Editor and Viewer, изменив настройку URL Click Settings.

Автодополнение значений

Мы решили автоматизировать подстановку значений (в ручном режиме эта функция ужа давно доступна в DataGrip). Мы проверили ее работу и убедились, что все в порядке. Помните, что эта функция работает полностью локально, так что варианты автодополнения основаны на уже загруженных значениях в текущем столбце.

Выбор столбцов

Раньше выбрать все значения в столбце можно было только одним способом — с помощью сочетания клавиш Expand Selection: ⌥↑ / Ctrl+W. Теперь для этого достаточно нажать на заголовок столбца.

Функция сортировки значений в столбце доступна по-прежнему, но теперь для сортировки нужно нажать на соответствующую иконку.

Диалог Search Everywhere

Фильтрация

Мы доработали вкладку Database во всплывающем окне Search Everywhere! В новой версии можно фильтровать результаты поиска по типу объекта базы данных. Это можно сделать одним из двух способов.

Во-первых, можно использовать иконку фильтра в правом верхнем углу. Типы объектов, по которым можно фильтровать результаты:

  • базы данных и схемы: database, external-database, external-schema, schema;
  • таблицы: table, view, materialized-view, virtual table, foreign-table и т. п.;
  • скрипты: function, stored procedure, aggregate, package, partition-function и т. п.;
  • типы: alias-type, collection-type, object-type, table-type.

Можно также отфильтровать результаты по типу объекта с помощью команд. Введите /, а затем тип объекта и имя объекта. Например, если ввести /tables, вы получите список таблиц из базы данных, для которой выполняется интроспекция, а /tables film позволяет получить список таблиц, в названии которых есть «film».

Превью

В диалоге Search Everywhere теперь можно посмотреть превью элементов кода, которые вы ищете. Нажмите на значок Preview на панели инструментов диалога, и под результатами поиска откроется панель предварительного просмотра. Это даст вам дополнительный контекст и упростит навигацию по проекту.

Улучшения областей доступа

Мы переработали раскрывающийся список областей доступа, и теперь источники данных отображаются в его верхней части.

Кроме того, на вкладке Text появилась новая область Cached Database Sources, которая обеспечивает поиск по исходному коду функций баз данных, представлений и т. п.

Соединение

Умное обновление

SQL ServerOracle

DataGrip автоматически обновляет схему в проводнике баз данных при каждом выполнении инструкции DDL. Это работает, если в свойствах источника данных включена настройка Auto sync.

Этот процесс может занимать значительное время, если в базе данных много объектов, например, с базами данных Oracle, где системные каталоги работают очень медленно.

Начиная с версии 2024.2, механизм обновления стал работать эффективнее. Теперь DataGrip анализирует, какие объекты могут быть изменены в результате выполнения запроса, и обновляет только соответствующий набор объектов.

Внимание! Мы сделали все возможное, чтобы в большинстве случаев DataGrip успешно определяла измененные объекты. Однако инструкция может косвенно приводить к изменению и других объектов — такие изменения DataGrip может не учесть, например, при каскадном удалении объектов или при изменении таблиц, используемых в процедурах или функциях. В этом случае можно вызвать действие Refresh, и DataGrip выполнит полное обновление базы данных.

Макросы IDE для установки соединения при запуске

Теперь в скриптах установки соединения при запуске можно использовать встроенные макросы. Чтобы добавить макрос в скрипт, перейдите в File | Data Sources, выберите источник данных и откройте вкладку Options. Затем перейдите к Startup script и нажмите Insert Macros.

Например, если вам нужно имя пользователя операционной системы, который устанавливает соединение, можно использовать в скрипте макрос OSUser : ALTER SESSION SET QUERY_TAG = '$OSUser$'.

Поддержка сертификатов, выданных не RSA

Новая версия поддерживает использование сертификатов, выданных не RSA, для SSL-соединений.

Поддержка Iceberg, динамических и гибридных таблиц

Snowflake

В новой версии реализована интроспекция Iceberg, динамических и гибридных таблиц, а также их отображение в проводнике баз данных.

Скачать