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

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

Запуск запросов
Режим «только для чтения»
У нас есть флажок «Read-only» в свойствах источника данных. Он включал этот режим на уровне jdbc-драйвера. Но read-only реализован в разных драйверах с оговорками:
— В SQLite его нельзя переключать для уже созданной коннекции.
— В MySQL он не позволяет запускать запросы, которые начинаются не с символа «S».
— В Oracle, SQL Server и некоторых других базах он вообще не работает :)

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

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

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

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

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

Общие улучшения
Переключение схем
Укажите, как DataGrip будет переключать схемы.

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

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

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).

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

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

Дерево базы данных
Поддержали MariaDB.

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

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

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

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

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

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

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

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

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

Всякое
— Команды 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.
