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

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

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

image

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

Импорт CSV

Старый способ был неудобный [6]. Мы добавили интерфейс для импорта — теперь выбирайте из контекстного меню источника данных пункт 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 [7]в наших инструментах.

Релиз 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 [8], Hasklig [9], Monoid [10]или PragmataPro [11].

Релиз 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 [12] — добавляйте и удаляйте схемы из меню в верхней части консоли.

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

Подключение

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

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

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

Перекомпиляция пакетов в 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 [14], и не забудьте заглянуть в Features [15], вдруг чего-то не знали?

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

Команда DataGrip.

Автор: JetBrains

Источник [17]


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

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

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

[1] DataGrip: https://www.jetbrains.com/datagrip/specials/datagrip/whatsnew.html

[2] IntelliJ IDEA: https://www.jetbrains.com/idea/

[3] PyCharm: https://www.jetbrains.com/pycharm/

[4] PhpStorm: https://www.jetbrains.com/phpstorm/

[5] RubyMine: https://www.jetbrains.com/ruby/

[6] неудобный: https://www.youtube.com/watch?v=MtrimePA58U

[7] документации о поддержке XML : https://www.jetbrains.com/help/idea/2016.2/xml-refactorings.html

[8] FiraCode: https://github.com/tonsky/FiraCode

[9] Hasklig: https://github.com/i-tu/Hasklig

[10] Monoid : https://github.com/larsenwork/monoid

[11] PragmataPro: http://www.fsd.it/shop/fonts/pragmatapro/

[12] search path: https://www.postgresql.org/docs/8.1/static/ddl-schemas.html

[13] небольшое руководство: https://blog.jetbrains.com/datagrip/2016/06/21/connecting-datagrip-to-ms-sql-server/

[14] What’s new: https://www.jetbrains.com/datagrip/whatsnew/

[15] Features: https://www.jetbrains.com/datagrip/features/

[16] попробуете DataGrip 2016.2: https://www.jetbrains.com/datagrip/download/

[17] Источник: https://habrahabr.ru/post/306152/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best