Встречайте DataGrip 2024.2!
Это второе крупное обновление в 2024 году. Подробно рассказываем о новых возможностях и улучшениях в этом релизе.
Первое и главное: новый интерфейс теперь включен по умолчанию у всех пользователей.
Мы представили новый интерфейс JetBrains IDE два года назад и с тех пор постоянно его дорабатывали. Мы внимательно изучали ваши отзывы и улучшали новый интерфейс, чтобы переход на него был для вас максимально комфортным. В последних релизах мы заметили, что новый интерфейс пользуется популярностью, а с основными проблемами, о которых вы сообщали, мы справились.
Считаем, что пришло время сделать его стандартным вариантом для всех. Начиная с версии 2024.2 JetBrains IDE, он будет включен по умолчанию.
Если вы предпочитаете классический интерфейс, то можете установить соответствующий плагин из JetBrains Marketplace.
Мы вложили много сил в разработку и улучшение плагина AI Assistant для DataGrip. В этой версии вас ждет много новых функций для работы с базами данных.
Вы можете попросить 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, просто упомянув ее в запросе: укажите имя схемы базы данных, поставив перед ним #
. Например: «Создай запрос для получения всех имен актеров из #public
».
AI Assistant проанализирует схему и сгенерирует запрос к базе данных.
Эта функция особенно удобна в других JetBrains IDE, поскольку там нет других способов добавления схемы базы данных в чат-бот.
Можно также указать конкретные файлы из добавленной папки. Это может потребоваться, если AI Assistant должен использовать контекст конкретного скрипта.
Теперь с помощью 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 сгенерирует нужный код, вы сможете увидеть его в панели предпросмотра этого диалога.
В новой версии можно импортировать данные из файлов таблиц. Мы реализовали скрипты-загрузчики для импорта данных из файлов следующих форматов:
Чтобы импортировать данные, перетащите файл из окна 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
. Теперь для этого достаточно нажать на заголовок столбца.
Функция сортировки значений в столбце доступна по-прежнему, но теперь для сортировки нужно нажать на соответствующую иконку.
Мы доработали вкладку Database во всплывающем окне Search Everywhere! В новой версии можно фильтровать результаты поиска по типу объекта базы данных. Это можно сделать одним из двух способов.
Во-первых, можно использовать иконку фильтра в правом верхнем углу. Типы объектов, по которым можно фильтровать результаты:
Можно также отфильтровать результаты по типу объекта с помощью команд. Введите /
, а затем тип объекта и имя объекта. Например, если ввести /tables
, вы получите список таблиц из базы данных, для которой выполняется интроспекция, а /tables film
позволяет получить список таблиц, в названии которых есть «film».
В диалоге Search Everywhere теперь можно посмотреть превью элементов кода, которые вы ищете. Нажмите на значок Preview на панели инструментов диалога, и под результатами поиска откроется панель предварительного просмотра. Это даст вам дополнительный контекст и упростит навигацию по проекту.
Мы переработали раскрывающийся список областей доступа, и теперь источники данных отображаются в его верхней части.
Кроме того, на вкладке Text появилась новая область Cached Database Sources, которая обеспечивает поиск по исходному коду функций баз данных, представлений и т. п.
DataGrip автоматически обновляет схему в проводнике баз данных при каждом выполнении инструкции DDL. Это работает, если в свойствах источника данных включена настройка Auto sync.
Этот процесс может занимать значительное время, если в базе данных много объектов, например, с базами данных Oracle, где системные каталоги работают очень медленно.
Начиная с версии 2024.2, механизм обновления стал работать эффективнее. Теперь DataGrip анализирует, какие объекты могут быть изменены в результате выполнения запроса, и обновляет только соответствующий набор объектов.
Внимание! Мы сделали все возможное, чтобы в большинстве случаев DataGrip успешно определяла измененные объекты. Однако инструкция может косвенно приводить к изменению и других объектов — такие изменения DataGrip может не учесть, например, при каскадном удалении объектов или при изменении таблиц, используемых в процедурах или функциях. В этом случае можно вызвать действие Refresh, и DataGrip выполнит полное обновление базы данных.
Теперь в скриптах установки соединения при запуске можно использовать встроенные макросы. Чтобы добавить макрос в скрипт, перейдите в File | Data Sources, выберите источник данных и откройте вкладку Options. Затем перейдите к Startup script и нажмите Insert Macros.
Например, если вам нужно имя пользователя операционной системы, который устанавливает соединение, можно использовать в скрипте макрос OSUser : ALTER SESSION SET QUERY_TAG = '$OSUser$'
.
Новая версия поддерживает использование сертификатов, выданных не RSA, для SSL-соединений.
В новой версии реализована интроспекция Iceberg, динамических и гибридных таблиц, а также их отображение в проводнике баз данных.