Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL

в 13:18, , рубрики: DataGrip, jetbrains, Microsoft SQL Server, mysql, postgresql, sql, Блог компании JetBrains

Привет! У нас пора релизов. Это пост о том, что интересного в новой версии DataGrip — нашей IDE для SQL. Эти изменения также касаются IntelliJ IDEA, PyCharm, PhpStorm и RubyMine — тех инструментов от JetBrains, где есть поддержка баз данных.

image

Вот, что мы добавили:

Импорт CSV

Старый способ был неудобный. Мы добавили интерфейс для импорта — теперь выбирайте из контекстного меню источника данных пункт Import from file…, указывайте путь к файлу и вперёд.

Откроется диалоговое окно, в котором есть опции для описания структуры файла — используемый разделитель, кавычки, наличие заголовков и т. д. В правой части укажите типы полей и другие характеристики таблицы, в которую попадут данные. По клавише Delete можно удалять столбцы из скрипта создания этой таблицы. Если при импорте возникнут ошибки, процесс не прекратится, а информация об ошибках запишется в текстовый файл — в нижней части окна укажите, где его создать.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 2

Выбор схем

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

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 3

Поддержка языков в строковых литералах

Строковому литералу можно присвоить определённый язык и пользоваться возможностями IDE по работе с ним — подсветкой, автодополнением и другими. Это может быть JSON, XML, регулярные выражения или любой диалект SQL.
Когда DataGrip понимает, что в поле содержатся JSON данные или XML — поддержка осуществляется автоматически.

Скажем, мы вставляем значение в поле типа JSON.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 4

Если вы указываете значение для поля по умолчанию, происходит то же самое — здесь IDE поняла, что вы используете XML, и возможности по работе с этим языком стали доступны. Это переименование элементов, поиск вхождений, движение элементов в стороны и т. д. Не забудьте заглянуть на страницу документации о поддержке XML в наших инструментах.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 5

По умолчанию встроены только два типа, для которых языки поддерживаются автоматически, — JSON и XML. Но если у вас есть тип данных, для которого вы хотите иметь то же самое, то выберите Inject by Type из меню подсказок по Alt+Enter.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 6

В примере используется тип CUSTOMDATA, но, допустим, у нас всегда используется XML для типов, имя которых заканчивается на DATA. Имя типов, для которых будет осуществляться автоматическая поддержка, описывается в регулярном выражении (?i).*DATA. Можно на ходу проверить, соответствует ли шаблону та или иная строка, в данном случае — имя вашего типа.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 7

Шаблоны имен типов для поддержки языков в литералах попадают в Settings/Preferences → Editor → Language Injections.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 8

Проверить строку на соответствие регулярному выражению можно теперь где угодно. По Alt+Enter укажите соответствующий язык, а потом опять по Alt+Enter выберите Check Regexp.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 9

Ещё один способ сообщить среде о языке в строковом литерале — комментарий вида language=%name%. В следующем примере применён динамический SQL — внутри строки заработало автодополнение и навигация: среда поняла, какие объекты используются в запросе внутри строки.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 10

Табличный редактор

Для значений внутри таблицы мы добавили дополнение по значениям в поле, которое вызывается по Ctrl(Cmd)+Space. Это напоминает уже существующий тип дополнения, который вызывается по Alt+/, — оно ищет по всем используемым словам во всех открытых файлах.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 11

Специфические улучшения для PostgreSQL: можно редактировать поля с типами range.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 12

И поля с временными зонами.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 13

Размер столбцов теперь меняется по Ctrl(Cmd)+Shift+Left/Right. Все столбцы выделяйте по Shift+Space, как в Excel.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 14

Консоль

Как и все другие среды разработки на платформе IntelliJ, мы теперь поддерживаем лигатуры. Для этого их должен поддерживать и сам шрифт, который вы установите. Это могут быть FiraCode, Hasklig, Monoid или PragmataPro.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 15

Получается вот что:

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 16

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

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 17

В меню Surround with (Ctrl/Cmd+Alt+T) появился пункт Surround with function — выбранные выражения возьмутся в скобки, а курсор будет помещен перед первой скобкой. Раньше эта штука не работала с мультикурсорами, теперь все нормально.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 18

Для PostgreSQL мы поддержали search path — добавляйте и удаляйте схемы из меню в верхней части консоли.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 19

Подключение

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

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 20

В прошлый раз было много комментариев о проблемах с подключением к SQL Server. Мы написали небольшое руководство по решению основных проблем с этим.

Перекомпиляция пакетов в Oracle

Соответствующий пункт добавлен в контекстном меню, причем перекомпилировать можно только те пакеты, которые в этом нуждаются. Для этого выберите Invalid objects only.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 21

Экспорт схемы

Теперь можно экспортировать сразу всю схему или выбранные таблицы. Мы начали работу по интеграции DataGrip с внешними инструментами pg_dump и mysqldump, так что пишите пожелания в комментариях!

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 22

Изображения как фон IDE

В меню Find Action (Ctrl(Cmd)+Shift+A) найдите Set Background Image или выберите соответствующий пункт контекстного меню файла с изображением. Затем настройте прозрачность и другие параметры фона. Это появилось во всех IDE на платформе IntelliJ.

Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL - 23

Если хотите узнать больше, добро пожаловать на страницу What’s new, и не забудьте заглянуть в Features, вдруг чего-то не знали?

Будем рады, если вы попробуете DataGrip 2016.2 и расскажете о впечатлениях, пока мы готовим первое небольшое обновление.

Команда DataGrip.

Автор: JetBrains

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js