- PVSM.RU - https://www.pvsm.ru -

Релиз DataGrip 2017.1

Привет! Обсуждение DataGrip началось [1] уже в комментариях к анонсу новой IntelliJ IDEA, давайте продолжим здесь. Расскажу, что нового в DataGrip 2017.1 [2].

image

Будет много текста и картинок. Вкратце, вот что мы добавили:

Дерево базы данных

— Новое управление схемами
— Привязка файлов к источникам данных
— Интерфейс для создания баз и схем
— Настройки цветов для редактора и результатов запроса

Импорт и экспорт данных

— Экспорт таблиц из одной базы в другую
— Сопоставление столбцов файла и таблицы

Консоль запросов

— Сохранение пути поиска по умолчанию в PostgreSQL
— Шаблон для генерации триггеров
— Настройки для отключения автоматической конкатенации многострочных литералов и для автоматической квалификации объектов

Остальное

— Время выполнения запроса и номера столбца и строки выделенного поля в панели статуса
— Поиск имени таблиц и остальных объектов в комментариях и строках
— Windows-аутентификация в SQL Server для jTDS-драйвера
— Предупреждение об изменении исходного кода представления, процедуры и т.д.

Дерево баз данных

Управление схемами

Мы ещё раз переработали интерфейс для выбора схем в дереве баз данных. Надеемся, теперь это надолго :)

Дерево выбора открывается по двойному щелчку на Schemas…. Выбирайте сразу все схемы, текущую или только те, что вы хотите видеть.

Релиз DataGrip 2017.1 - 2

Вкладку Schemas мы вернули в свойства источника данных — там теперь такое же дерево выбора. Можно указать отображаемые схемы в текстовом шаблоне, язык которого описан в окне информации (Ctrl+Q или F1 для OSX).

Релиз DataGrip 2017.1 - 3

Соответствия файлов и источников данных

Раньше, особенно в других IDE со встроенной поддержкой баз, возникала путаница с тем, к какому источнику данных привязан файл. Если запросы, скажем, из java-класса использовали неквалифицированные объекты, IntelliJ IDEA сама пыталась догадаться, в какой базе они выполняются. Среде можно было помочь во вкладке Resolve Unqualified References. Но если в источнике данных были объекты с одинаковыми именами в разных схемах, эту проблему решить было нельзя.

Релиз DataGrip 2017.1 - 4

Стало проще: любой файл или папку можно явно привязать к одному или нескольким источникам данных или даже к отдельным схемам. Делается это в Settings → Database → SQL resolution scopes. В результате, неквалифицированные объекты базы данных из ваших запросов будут восприниматься как объекты из указанного источника. То есть будут работать автодополнение и навигация.

UI для создания баз и схем

В прошлый раз нас просили [3] это сделать — готово! В новом окне генерируется простой SQL.

Релиз DataGrip 2017.1 - 5

Укажите, хотите ли вы видеть созданные схемы и базы в дереве немедленно. Эта опция также работает для создания схем и баз прямо из консоли.

Релиз DataGrip 2017.1 - 6

NB! DataGrip до сих пор не поддерживает [4] нескольких баз в PostgreSQL для одного источника данных. Поэтому созданные новые базы в дереве не появятся — для работы с ними создайте отдельный источник данных. Но мы начали работу над этим.

Настройки цвета

Color settings в контекстном меню источника данных были и раньше (знали о них? :), но теперь цвет можно применить и к фону консоли, и к таблице результатов запроса. Надеемся, это поможет не запускать тестовые скрипты на живой базе.

Релиз DataGrip 2017.1 - 7

Импорт и экспорт данных

Экспорт таблиц и результатов

Теперь можно перетащить таблицу из одной базы в другую. Причём, даже если это базы от разных СУБД. Скопируются структура таблицы и сами данные.

Релиз DataGrip 2017.1 - 8

Создать новую таблицу в другой базе можно и из результатов запроса: добавили кнопку Export to database.

Релиз DataGrip 2017.1 - 9

Улучшения в диалоге импорта

Было много предложений [5] по тому, как сделать импорт более гибким.

Укажите, в какую таблицу импортируете данные, и отредактируйте скрипт её создания. Сопоставление столбцов поможет понять, какие данные куда попадут. Для имён столбцов работает автодополнение.

Релиз DataGrip 2017.1 - 10

Консоль запросов

Путь поиска в PostgreSQL

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

Релиз DataGrip 2017.1 - 11

Триггеры

Добавили шаблон для генерации триггеров по Ctrl+N (Cmd+O для OSX).

Релиз DataGrip 2017.1 - 12

Поддержали NEW/OLD и INSERTED/UPDATED для исходников триггеров.

Релиз DataGrip 2017.1 - 13

Написание кода

Знакомая по другим IDE опция Settings → Editor → Appearance → Show parameter name hints работает и в DataGrip: показывает имена столбцов для предложений INSERT.

Релиз DataGrip 2017.1 - 14

Новые настройки появились в Settings → Editor → Smart Keys.

Релиз DataGrip 2017.1 - 15

Insert string concatenation on Enter отвечает за то, будут ли строки при переносе автоматически конкатенироваться. Раньше это работало по умолчанию и выглядело так:

Релиз DataGrip 2017.1 - 16

В некоторых базах используются многострочные литералы, и такое поведение было неудобным [7]. Если снять галочку, перенос строк не будет ничего вставлять:

Релиз DataGrip 2017.1 - 17

Опцию Qualify object in completion тоже просили [8]. Кому-то удобно, чтобы объекты квалифицировались всегда, кого-то это раздражает даже при коллизиях — одни и те же скрипты будут запущены на разных базах, и люди не хотят в них ничего менять. Скажем, у нас есть две схемы — max и public, с такими таблицами:

Релиз DataGrip 2017.1 - 18

Вот как будет вести себя IDE при параметре Qualify on collisions:

Релиз DataGrip 2017.1 - 19

Именованные параметры дополняются по второму нажатию Ctrl+Space. Вообще, во всех наших IDE это приводит к интересным результатам, попробуйте.

Релиз DataGrip 2017.1 - 20

Дополнение по Ctrl+Space после простого SELECT вставляет алиас. В Settings → Editor → Code style → SQL теперь можно настроить — использовать для него прописные или строчные буквы.

Релиз DataGrip 2017.1 - 21

Ещё одна настройка из платформы работает для DataGrip. Settings → Editor → Appearance → Show method separator будет рисовать линии между запросами.

Релиз DataGrip 2017.1 - 22

В MySQL есть баги в грамматике при использовании UNION. Мы добавили забавную инспекцию, которая об этом предупредит.

Релиз DataGrip 2017.1 - 23

Навигация к настройкам цветов и шрифтов

А это понадобится пользователям любой IDE на платформе IntelliJ — не ищите, где в дебрях настроек изменить цвет или шрифт. Команда Jump to colors and fonts в вездесущем меню по Ctrl+Shift+A (Cmd+Shift+A для OSX) отправит вас в настройку цвета того контекста, в котором стоит курсор.

Релиз DataGrip 2017.1 - 24

Если контекстов несколько, выберите нужный. Здесь предлагается настроить цвет и отображение для запускаемого запроса (фиолетовая рамка) и цвет строчного литерала (зелёный). Предположим, нас волнует строчный литерал.

Релиз DataGrip 2017.1 - 25

Готово! Можно менять цвет.

Релиз DataGrip 2017.1 - 26

Разное

В панель статуса результатов запросы мы добавили время выполнения запроса и номера столбца и строки выделенной записи.

Релиз DataGrip 2017.1 - 27

В окне Modify table детали столбца открываются по двойному клику, а не по одинарному.

Релиз DataGrip 2017.1 - 28

Редактор исходников отлавливает, что объект изменился из DataGrip, и предупреждает об этом.

Релиз DataGrip 2017.1 - 29

В окно информации для системных таблиц в PostgreSQL добавлена ссылка на документацию.

Релиз DataGrip 2017.1 - 30

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

Релиз DataGrip 2017.1 - 31

А ещё в новой версии:

— Предпросмотр для больших файлов в режиме «только для чтения».
— Windows-аутентификация в SQL Server для jTDS-драйвера.
— Поддержка запроса CREATE/ALTER в SQL Server 2016.
— TNS-имена корректно считываются из файла tnsnames.ora в Oracle.
— Коммит запускает [9] синхронизацию в PostgreSQL.
— Интроспектируется больше объектов [10] в SQLite.
— Предупреждения появляются [7] во вкладке Output сразу.
Zero-latency typing [11] (набор без задержки) включен по умолчанию.
— Настройки цвета для регулярных выражений.

Вероятно, вы про это всё знаете, но тем не менее:

— Скачать бесплатную пробную версию здесь [12].
— У нас есть Твиттер [13] и форум [14].
— О багах сообщайте в трекер [15].

Вот и всё. Как всегда, продолжим в комментариях.

Автор: JetBrains

Источник [16]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/mysql/251139

Ссылки в тексте:

[1] началось: https://habrahabr.ru/company/JetBrains/blog/324578/#comment_10131868

[2] DataGrip 2017.1: https://www.jetbrains.com/datagrip/whatsnew/

[3] просили: https://habrahabr.ru/company/JetBrains/blog/316152/#comment_9933252

[4] не поддерживает: https://youtrack.jetbrains.com/issue/DBE-2287

[5] предложений: https://youtrack.jetbrains.com/issue/DBE-3011

[6] важное: https://youtrack.jetbrains.com/issue/DBE-2945

[7] было неудобным: https://youtrack.jetbrains.com/issue/DBE-2938

[8] просили: https://intellij-support.jetbrains.com/hc/en-us/community/posts/208574345-Autocomplete-Schema-name-on-object

[9] запускает: https://youtrack.jetbrains.com/issue/DBE-583

[10] больше объектов: https://blog.jetbrains.com/datagrip/2017/03/22/datagrip-2017-1-released/#sqlite

[11] Zero-latency typing: https://pavelfatin.com/typing-with-pleasure/

[12] здесь: https://www.jetbrains.com/datagrip/download/

[13] Твиттер: https://twitter.com/0xdbe

[14] форум: https://intellij-support.jetbrains.com/hc/en-us/community/topics/200381555-DataGrip

[15] трекер: https://youtrack.jetbrains.com/issues/DBE

[16] Источник: https://habrahabr.ru/post/325066/