Темы



Что нового в 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