Привет! Сегодня мы выпустили 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. Так вот, именно это выражение делает шаблон контекстным, то есть значение в эту переменную можно подставить автоматически — кликнув на любой объект в проводнике базы данных.   Важно отметить, что синтаксис этого шаблона работает не во всех базах. В нижней части окна перечислены диалекты, для которых такой код можно сгенерировать.  В настройках можно выбрать, будет запрос генерироваться в новую консоль или в активную. Этого нам не хватало для полноценной поддержки Монги, но теперь все на месте: вы можете редактировать данные а апдейт-запрос просматривать до того, как данные отправятся в базу. Еще можно менять тип ячейки: из контекстного меню или панели инструментов при просмотре больших значений. Сортировка стала более удобной: Мы добавили поле 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. Но мы не советуем менять значения в реестре и надеемся, что те полпроцента людей, у которых эта галочка была снята, быстро привыкнут к новому поведению :) Если мы про что-то забыли, пишите, пожалуйста, в комментах. Тут мы ничего особо не сделали — просто переименовали вкладку Tables в Database. Этим мы напоминаем, что по сочетанию клавиш Cmd+O/Ctrl+N можно искать не только таблицы, но и процедуры, функции, схемы.  Мы поддержали интерактивную аутентификацию через Azure Active Directory. Если она включена, при соединении у вас автоматически откроется браузер, где вы сможете завершить аутентификацию. Этот драйвер можно скачать в DataGrip, начиная с версии 2021.1. Главное изменение состоит в том, что теперь запросы можно останавливать. Подсветку языка мы поддержали в предыдущей версии, а в этой добавили интроспекцию. То есть, информацию об объектах IDE берет не из драйвера, а выкачивает ее сама при помощи специальных запросов. Теперь 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. Если отключить Show generated objects, то из проводника пропадут: Таблицы материализованных представлений Логи материализованных представлений Вторичные таблицы В SQLite теперь отображаются функции, модули и виртуальные столбцы. Начиная с этой версии стало легче создавать источники данных для баз, которые мы не поддерживаем. Вам не придется самим качать драйвер — мы предложим сделать это за вас. Драйверы мы кладем к себе на сервер и обновляем, когда нужно. При создании источников данных ищите шаблоны в секции Other. Еще раз напомним, что поддержка для таких источников данных — базовая. Скрипты подсвечиваются на основе стандарта SQL:2016, а информация об объектах берется из драйвера.   Если запрос не запустится из-за избыточных имен в общем табличном выражении, DataGrip сообщит об этом. Использовать системные функции без имени схемы можно было и раньше, но DataGrip считал это ошибкой :) Теперь они и подсвечиваются правильно, и для них работает навигация с автодополнение. Формат JSON Lines используется для хранения данных и логов. И новая версия правильно подсвечивает файлы этого формата. Теперь вы можете настраивать толщину шрифта. Если бинарные данные не были загружены полностью, вы увидите такое сообщение: Настройка, которая определяет, какое количество данных DataGrip загружает по умолчанию, находится здесь: Settings/Preferences | Database | Data Views | Maximum number of bytes loaded per value. Когда вы экспортируете данные в Excel, на отдельном листе сохраняется изначальный запрос. Раньше было неудобно находить эту настройку, поэтому мы добавили ее в контекстное меню заголовков. Прикрепить папку, то есть открыть ее в панели Files, теперь можно, перетащив её. Если редактор разделен вертикально на несколько вкладок, вы можете расширить окно редактора для любой из вкладок, кликнув по ней дважды. Чтобы вернуться в прежнее состояние, снова кликните дважды по окну. В одной из предыдущих версий мы укоротили названия вкладок. Это не всем понравилось, поэтому мы сделали настройку: На этом все! — Скачать триал на месяц Фидбек принимаем в комментариях к посту и здесь: — Трекер (это если точно нашли проблему) — Телеграм-канал — Твиттер — Почта Команда DataGrip Marketing manager