Привет! В этом релизном цикле некоторые улучшения появились ещё в минорных обновлениях. Но, так как о них на Хабре мы не пишем, я расскажу в этом посте обо всём новом с момента предыдущего релиза.
Редактор данных
Мы добавили журнал запросов, которые редактор данных отправляет в базу. 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.
Автор: moscas