company_banner

DataGrip 2021.1: Редактирование прав, контекстные шаблоны, предсказуемая навигация и не только

    Привет!

    Сегодня мы выпустили DataGrip 2021.1: наш самый мощный релиз за последние годы. И это не шутка!

    Самое важное:

    • Интерфейс для работы с правами доступа

    • Контекстные шаблоны Live Templates

    • Упрощенная навигация

    • Легкое копирование источников данных

    • Улучшенная сортировка

    • Редактирование данных в MongoDB

    • Поддержка Azure MFA

    Редактирование прав

    В окне редактирования объекта теперь можно изменять права на объект.

    Также права можно добавлять и изменять в окне редактирования пользователя или роли. Напомним, что вызываются окна редактирования нажатием Cmd/Ctrl+F6.

    Это работает в PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server и Sybase.

    Контекстные шаблоны

    Нас давно просили сделать «‎как у других»‎: чтобы для таблицы в проводнике можно было быстро сгенерировать простой запрос, например SELECT TOP 100 FROM %tableName%. 

    Мы всегда отвечали, что, как только вы научитесь пользоваться шаблонами кода Live Templates, ваша жизнь изменится навсегда, и не надо будет тыкать мышкой во вложенные меню.

    И это правда. Но бывает, что у пользователя открыт проводник и он находится в контексте нужного объекта. В таком случае сгенерировать запрос к этому объекту на месте будет проще, чем переключаться в консоль, а потом находить этот объект, используя автодополнение. К тому же, многие все еще часто пользуются мышкой :) 

    В итоге мы сделали новый вид шаблонов кода — контекстные шаблоны. Работают они так:

    Посмотрим шаблон Select first N rows from a table. Найдите его в настройках:

    Он выглядит как обычный шаблон, и его можно использовать в таком качестве. Но у переменной $table$ есть специальное выражение — dbObjectName(). Вы увидите это, нажав на Edit Variables. Так вот, именно это выражение делает шаблон контекстным, то есть значение в эту переменную можно подставить автоматически — кликнув на любой объект в проводнике базы данных.  

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

    В настройках можно выбрать, будет запрос генерироваться в новую консоль или в активную.

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

    Редактирование данных в MongoDB

    Этого нам не хватало для полноценной поддержки Монги, но теперь все на месте: вы можете редактировать данные а апдейт-запрос просматривать до того, как данные отправятся в базу.

    Еще можно менять тип ячейки: из контекстного меню или панели инструментов при просмотре больших значений.

    Сортировка

    Сортировка стала более удобной:

    • Мы добавили поле ORDER BY, а <Filter> переименовали в WHERE. Впишите в ORDER BY условия сортировки, чтобы получился работающий запрос.

    • По умолчанию сортировка не суммируется: каждый клик по новому столбцу сбрасывает сортировку по другим столбцам. Если хочется сортировать по нескольким столбцам сразу, используйте клик с зажатой клавишей Alt.

    Если хотите отсортировать данные на стороне DataGrip, отключите Sort via ORDER BY. Конечно, в этом случае, сортируются данные только на текущей странице. 

    Теперь вы можете по умолчанию открывать таблицы отсортированными по числовому первичному ключу.

    Панель инструментов

    Мы немного обновили панель инструментов в редакторе данных: добавили кнопки Revert Changes и Find. Кнопки Rollback и Commit в режиме автоматического подтверждения транзакций скрываются.

    Транспонирование однострочных результатов

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

    Навигация

    Предсказуемые действия

    Мы удалили эти настройки:

    Если вы никогда не меняли их значения по умолчанию, то главное изменение в новой версии для вас такое: действие Go to declaration (Ctrl/Cmd+B) теперь открывает DDL этого объекта. Раньше оно подсвечивало объект в проводнике базы данных.

    Для перемещения к объекту в проводнике мы представили новое сочетание клавиш: Alt+Shift+B для Windows/Linux и Opt+Shift+B для macOS.

    Теперь нет сложной логики, и каждое нажатие горячих клавиш ведет в туда, куда вы ожидаете попасть:

    • Ctrl/Cmd+B открывает DDL.

    • F4 открывает данные.

    • Alt/Opt+Shift+B подсвечивает объект в проводнике.

    Удаление настроек всегда ломает привычки некоторому количеству людей. Мы постарались учесть это. Вот наши советы таким пользователям:

    • Все сочетания клавиш можно менять. Если, например, вы не хотите отвыкать от того, что Ctrl/Cmd+B подсвечивает объект в проводнике, назначьте это сочетание клавиш действию Select in database tree.

    • В то же время, если вам нравится, что внутри скрипта Ctrl/Cmd+B и Ctrl/Cmd+Click открывает определение CREATE, не убирайте эти сочетания с действия Go to declaration, если вы последовали предыдущему совету.

    • Если вам нравилось, что при отключенной настройке Preview data editor over DDL editor двойной клик по таблице открывал DDL, это можно вернуть через ключ в реестре. Он называется database.legacy.navigate.to.code.from.tree. Но мы не советуем менять значения в реестре и надеемся, что те полпроцента людей, у которых эта галочка была снята, быстро привыкнут к новому поведению :)

    Если мы про что-то забыли, пишите, пожалуйста, в комментах.

    Вкладка Database

    Тут мы ничего особо не сделали — просто переименовали вкладку Tables в Database. Этим мы напоминаем, что по сочетанию клавиш Cmd+O/Ctrl+N можно искать не только таблицы, но и процедуры, функции, схемы. 

    Соединение

    Поддержка Azure MFA

    Мы поддержали интерактивную аутентификацию через Azure Active Directory. Если она включена, при соединении у вас автоматически откроется браузер, где вы сможете завершить аутентификацию.

    Версия 2.x драйвера для Redshift 

    Этот драйвер можно скачать в DataGrip, начиная с версии 2021.1. Главное изменение состоит в том, что теперь запросы можно останавливать.

    Полная поддержка Google Big Query

    Подсветку языка мы поддержали в предыдущей версии, а в этой добавили интроспекцию. То есть, информацию об объектах IDE берет не из драйвера, а выкачивает ее сама при помощи специальных запросов.

    Поддержка диалекта CockroachDB

    Теперь DataGrip правильно подсвечивает запросы и показывает ошибки в скриптах для  CockroachDB. Соответствующую интроспекцию мы сделаем в одном из следующих релизов.

    Улучшения в окне соединения

    Сделали это окно чуть более дружелюбным:

    • Источники данных и драйверы разделены на две вкладки. 

    • На странице каждого драйвера появилась кнопка Create data source.

    • Кнопка Test Connection переехала вниз — теперь ее видно из всех вкладок, а не только из General и SSH/SSL.

    • Для источников данных на основе файлов (так называемых DDL Data Sources) теперь можно явно задать диалект.

    • Поле JDBC URL расширяется, потому что адреса для подключения бывают очень длинными.

     

    Проводник базы данных

    Легкое копирование источников данных

    Возможность копировать и вставлять источники данных мы сделали давно. Но с этого релиза вы можете использовать самые знаменитые сочетания клавиш в мире — Ctrl/Cmd+C/V/X.

    • Напоминаем, что, когда вы копируете источник данных, в буфер обмена сохраняется XML. Его можно послать коллеге в мессенджере, а он вставит его в свою IDE — все сработает.

    • Если копирование и вставка происходит в одном проекте, вам не понадобится заново вводить пароль.

    • Источник данных можно не только копировать, но и вырезать. Вырезание отменяется при помощи Ctrl/Cmd+Z.

    Новый интерфейс

    Объекты второстепенной важности (роли, пространства имен, внешние источники и др.) мы поместили в папки Server Objects и Database Objects.

    Если хотите, чтобы было как раньше, включите настройку Group Database and Schemas.

    [Oracle] Скрытие сгенерированных объектов

    Если отключить Show generated objects, то из проводника пропадут:

    • Таблицы материализованных представлений

    • Логи материализованных представлений

    • Вторичные таблицы

    [SQLite] Новые типы объектов

    В SQLite теперь отображаются функции, модули и виртуальные столбцы.

    Улучшения для неподдерживаемых баз

    Шаблоны для источников данных

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

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

     

    Написание запросов

    Инспекция про избыточные имена в CTE 

    Если запрос не запустится из-за избыточных имен в общем табличном выражении, DataGrip сообщит об этом.

    [SQL Server] Системные функции можно использовать без имени схемы

    Использовать системные функции без имени схемы можно было и раньше, но DataGrip считал это ошибкой :) Теперь они и подсвечиваются правильно, и для них работает навигация с автодополнение.

    Поддержка JSON Lines 

    Формат JSON Lines используется для хранения данных и логов. И новая версия правильно подсвечивает файлы этого формата.

    Толщина шрифта

    Теперь вы можете настраивать толщину шрифта.

    Импорт / Экспорт

    Незагруженные данные

    Если бинарные данные не были загружены полностью, вы увидите такое сообщение:

    Настройка, которая определяет, какое количество данных DataGrip загружает по умолчанию, находится здесь: Settings/Preferences | Database | Data Views | Maximum number of bytes loaded per value.

    Запрос в файле Excel

    Когда вы экспортируете данные в Excel, на отдельном листе сохраняется изначальный запрос.

    ‘First row is header’ в контекстном меню импорта

    Раньше было неудобно находить эту настройку, поэтому мы добавили ее в контекстное меню заголовков.

    Интерфейс

    Прикрепление папки при помощи drag-n-drop

    Прикрепить папку, то есть открыть ее в панели Files, теперь можно, перетащив её.

    Открытие вкладок в режиме разделенного редактора

    Если редактор разделен вертикально на несколько вкладок, вы можете расширить окно редактора для любой из вкладок, кликнув по ней дважды. Чтобы вернуться в прежнее состояние, снова кликните дважды по окну.

    Длинные названия вкладок

    В одной из предыдущих версий мы укоротили названия вкладок. Это не всем понравилось, поэтому мы сделали настройку:

    На этом все!

    Скачать триал на месяц

    Фидбек принимаем в комментариях к посту и здесь:

    Трекер (это если точно нашли проблему)

    Телеграм-канал

    Твиттер

    Почта

    Команда DataGrip

    JetBrains
    Делаем эффективные инструменты для разработчиков

    Similar posts

    Comments 0

    Only users with full accounts can post comments. Log in, please.