Что нового в DataGrip 2018.1

Привет! В этом релизном цикле некоторые улучшения появились ещё в минорных обновлениях. Но, так как о них на Хабре мы не пишем, я расскажу в этом посте обо всём новом с момента предыдущего релиза.

image



Редактор данных


Мы добавили журнал запросов, которые редактор данных отправляет в базу. ProgerMan просил в комментариях пару релизов назад :)

image

Запуск запросов


Режим «только для чтения»


У нас есть флажок «Read-only» в свойствах источника данных. Он включал этот режим на уровне jdbc-драйвера. Но read-only реализован в разных драйверах с оговорками:

— В SQLite его нельзя переключать для уже созданной коннекции.
 — В MySQL он не позволяет запускать запросы, которые начинаются не с символа «S».
 — В Oracle, SQL Server и некоторых других базах он вообще не работает :)

image

Поэтому мы сделали собственный read-only режим. Он включается вместе с тем, что реализован на уровне драйвера. Для MySQL и SQLite режим на уровне драйвера мы не включаем.

Вот, что делает наш read-only:

Он подсвечивает DDL и DML запросы, предупреждая об их небезопасности.

image

Если вы всё-таки запустили этот запрос, появится предупреждение. Для особо настойчивых мы показываем кнопку Execute в правой части предупреждения.

image

Ещё мы строим дерево вызовов функций и процедур, и на каком бы уровне вложенности ваша функция ни вела к модификациям, предупредим об этом.

image

В сочетании с раскраской источников данных перепутать тестовую базу с живой теперь сложно :) С 2018.1 в цвет источника данных красятся ещё и файлы, которые с ним ассоциированы.

image

Запуск скриптов


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

image

Общие улучшения


Переключение схем


Укажите, как DataGrip будет переключать схемы.

image

Automatic. Среда сама будет переключать схемы, если это потребуется для определения правильного контекста. Скажем, если вы переименовываете объект не в текущей схеме, мы переключим схему для внутренней операции.
 — Manual. Схемы переключает только пользователь, в правом верхнем углу консоли.
 — Disabled.Переключатель вверху не будет работать. Будет полезно для дополнительной защиты при использовании pg_bouncer.

Переименование объектов


С этого релиза мы официально поддерживаем переименование всех объектов, которые интроспектируем. Переименовывайте триггеры в PostgreSQL, события в MySQL, последовательности в Oracle и многие другие объекты, нажав на них Sift+F6 в дереве или в SQL-скрипте.

image

Навигация


Появилась новая настройка: Prefer data editor over DDL editor. Она влияет на:

— Навигацию к таблице или представлению по Ctrl+N/Сmd+O
 — Навигацию к столбцу по Shift+Ctrl+Alt+N/Shift+Cmd+Alt+O
 — Двойной щелчок по таблице или столбцу в дереве базы данных.
Если флажок отмечен, в этих случаях вы увидите редактор данных. Если нет — исходный код объекта.

image

Navigate references to DDL editor переименован в Prefer database view instead of DDL editor. Эта опция влияет на действие Navigate to declaration (Ctrl+B или Ctrl+Клик) из SQL.

Если флажок отмечен, объект подсветится в дереве базы данных. Если нет — откроется исходный код объекта.

Мы объединили два действия — Go to table и Go to class (Ctrl+N/Сmd+O).

image

— В DataGrip можно указать имя класса, если вы используете другие поддерживаемые языки.
 — В других IDE на платформе IntelliJ с поддержкой баз данных можно указать имя объекта базы и перейти к нему.

Документация для файлов


Это удивительно, но раньше, а наших IDE нельзя было быстро узнать размер файла. Поэтому мы добавили основные атрибуты файла в документацию — вызывайте её по Ctrl+Q или F1.

image

Изображения в фоне


Для изображений в фоне (Preferences/Settings → Appearance → Background images) добавили настройки выравнивания и растягивания.

image

Дерево базы данных


Поддержали MariaDB.

image

Добавили события для MySQL.

image

Поддержали внешние схемы в Redshift и виртуальные схемы в Exasol.

image

Для PostgreSQL 10 поддержали секционированные таблицы.

image

SQL-редактор


Переходите к следующему и предыдущему использованию объекта в скрипте по Alt+Колесо мышки. Или введите «highlighted element usage» в Find Action (Ctrl+Shift+A).

image

Ещё одно новое действие: Move element left or right. Работает в разных списках, например, полей в INSERT или столбцов в SELECT. Даже если вы любите, когда столбцы написаны один за другим, эта штука пригодится, потому что не будет проблем с запятой. А если использовать Move Line — будут.

image

Для Oracle и Exasol теперь работает автодополнение для имён файлов.

image

Поддержали CTE в MySQL.

image

Свернутый код теперь подсвечивается: например, если содержит ошибки или результаты текстового поиска.

image

А этот фикс вдохновлён комментарием на Хабре: малоизвестное действие Duplicate Entire Lines теперь работает и в конце файла.

image

Всякое


 — Команды SQLite отныне не порят подсветку кода.
 — Поддержали следующие типы в PostgreSQL: point, polygon, line, lseg, box, path, circle, pg_lsn, tsquery, tsvector.
 — Форматирование кода не меняет регистр ключевых слов по умолчанию.
 — Встроенный SSH-executable поддерживает криптографические алгоритмы.
 — DataGrip, как и другие наши IDE, теперь доступен в виде snap-пакета.
 — В диалоге Replace in Path поддержали предпросмотр результатов регулярных выражений.
 — Плагин The REST client доступен для установки.

Всё! И как всегда: скачать здесь, о багах сообщать сюда, а ещё мы отвечаем на форуме, в Твиттере и здесь, в комментариях.

Спасибо!

Команда DataGrip и JetBrains.

© Habrahabr.ru