Поддержка новых баз
В этом релизе сразу четыре базы получили официальную поддержку в наших инструментах:
Apache Hive – система управления базами данных на основе платформы Hadoop.
Greenplum – аналитическая СУБД для хранилищ данных на основе PostgreSQL.
Vertica – колоночная база для анализа больших данных.
Snowflake – облачное хранилище данных. Если говорить о реляционных базах, то Snowflake просили больше всего. В этом релизе мы поддержали только SQL, инстропекцию выпустим попозже.
Соединение
Мы сделали изменения в диалоговом окне соединения с базой: постарались сделать более понятно и удобно.
General
В этой вкладке, в основном, произошёл рефакторинг.
Поле Connection type раньше называлось URL type и было в самом низу. Но, так как значение в этом поле определяет дальнейший процесс, теперь оно наверху.
Поле Database расположили после ввода логина и пароля, потому что аутентификация нужна для того, чтобы отобразить список баз по Ctrl/Cmd+Пробел.
В комментариях к прошлому посту много обсуждали сохранение пароля. Добавили новых опций и сделали выпадающий список. Значения этого списка:
– Не сохранять пароль.
– Сохранять до перезапуска DataGrip (раньше так работала опция “не сохранять”).
– Сохранять на сессию: пока вы не отсоединитесь от источника данных.
– Сохранять навсегда.
Чтобы избежать непонятностей, пустой пароль вводите через контекстное меню.
Результаты Test Connection теперь показываются в самом окне, никаких лишних кликов и диалогов.
А если драйвера не скачаны, DataGrip предложит это сделать. Раньше кнопка Test Connection была в таком случае заблокирована, что путало пользователей.
Options
Сюда из вкладки General переехали настройки Read-only, Auto-sync, Transaction control.
Новое:
– Run keep-alive query each N seconds: будет тыкать палочкой источник данных каждые N секунд. Для баз, которые мы не поддерживаем, вы можете сами написать keep-alive-запрос. Это делается в настройках драйвера.
– Auto-disconnect after N seconds: введенное здесь значение в секундах укажет DataGrip, через какое время автоматически отсоединяться от источника данных.
– Startup script: Сюда можно вписать запрос, который будет выполняться при каждом создании подключения. Напомним, что если Single connection
mode не включен, для каждой новой консоли создаётся новое подключение.
Schemas
Сюда переехал фильтр отображаемых в дереве объектов.
Навигация и поиск
Список последних местонахождений
Новое окно Recent locations показывает, где вы недавно были. Элементы списка — это небольшие куски кода, которые вы недавно редактировали или смотрели. Это полезно, если вы помните контекст, но не помните название файла. В DataGrip такое часто происходит, потому что все консоли названы похожим образом :) Сочетание клавиш по умолчанию:
Ctrl/Cmd+Shift+E.
Если раньше вы использовали это сочетание клавиш для отображения списка недавно изменённых файлов, то теперь, пожалуйста, пользуйтесь двойным нажатием Ctrl/Cmd+E.
Поиск по пути
Мы убрали ненужные опции, которые “достались” нам от платформы: Module и Project. Теперь по умолчанию Find in path в DataGrip ищет везде. Ещё добавили новую область поиска Attached Directories — она включает в себя только файлы и папки из панели Files.
Действия из результатов навигации
Теперь из результатов навигации работают действия, которые применимы к объектам в коде или дереве. Например, вы ищете таблицу. Вот что можно сделать из окна с результатами.
– Посмотреть DDL: Ctrl/Cmd+B.
– Открыть данные: F4.
– Открыть окно Modify Table: Ctrl/Cmd+F6.
– Отобразить в другом контексте: Alt+F1 (например, показать в дереве).
– Увидеть общую информацию: Ctrl+Q/F1.
– Сгенерировать SQL: Ctrl/Cmd+Alt+G.
Работа с кодом
Комбинированные элементы в автодополнении
Для
CREATE
и DROP
автодополнение предлагает комбинированные варианты.Не забывайте об аббериватурах.
Новые инспекции
DataGrip предупредит, если вы используете курсор, который не открыли.
Следующие две инспекции выключены по умолчанию, но некоторым могут понадобится.
Если используете неименованные аргументы, это будет подсвечено.
Инспекция, которая ругается на оператор GOTO.
Работа с файлами
Добавили настройку для папки проекта по умолчанию. Новые проекты будут создаваться в этой папке.
Действие Save as… для консоли теперь:
– Предлагает проектную папку по умолчанию.
– Запоминает последний выбор.
В дереве файлов добавили действие Detach Directory: открепить папку. Раньше, чтобы открепить папку (то есть не показывать её в этом дереве), надо было нажать Delete, и DataGrip спрашивал: вы хотите удалить или открепить? Это было неудобно и непонятно :)
Дерево базы данных
Мы написали свою интроспекцию для DB2. Это означает, что информацию об объектах базы мы получаем при помощи запросов, а не через JDBC-драйвер, как раньше. В дереве, таким образом, появились объекты, которых раньше не было: триггеры, типы, методы, модули, счётчики, роли и другие.
Дерево хранит контекст: имя источника данных залипает сверху.
Для не поддерживаемых баз нарисовали иконки: те, у кого источники данных созданы для таких баз, перестанут путаться.
Ещё нарисовали абстрактных иконок, их можно использовать в настройках драйвера.
Остальное
Кастомные темы
Пользователи DataGrip получили возможность делать любые цветовые схемы. Новая схема — это плагин, который надо поставить из раздела Plugins в настройках.
О том, как делать свои темы, читайте тут:
Detailed tutorial about how to create your own custom Theme.
Blog post about creating custom themes for IntelliJ Platform
Мы попробовали сделать пару новых сами. Выглядят они так:
Cyan
Dark purple
Редактор данных
Фильтр предлагает значения из буфера обмена.
Всё!
– Более подробно тут (на англ.)
– Скачать триал на месяц
– Твитер, который мы читаем
– Почта, которую мы читаем: datagrip@jetbrains.com
– Баг-трекер
– Комментарии, которые мы читаем vvv
Команда DataGrip
Комментарии (39)
KonkovVladimir
03.04.2019 17:14Доброго дня.
В KDE были проблемы сохранения пароля в KWallet они уже решены?
И мне кажется не только меня интересует этот вопрос habr.com/ru/company/JetBrains/blog/431646/#comment_19458272
SLASH_CyberPunk
03.04.2019 17:29Давно ждал вертику, жаль только, что на текущие коннекты хоть иконку и поменяли (похоже парсинг по jdbc строке), но вот поменять драйвер на новый нет возможности, т.к. использовался кастомный postgres
moscas Автор
03.04.2019 17:32Что такое «нет возможности»?
SLASH_CyberPunk
03.04.2019 17:39moscas Автор
03.04.2019 17:48Проставьте в вашем кастомном драйвере вертиковский диалект, и здесь появится нужный драйвер.
SLASH_CyberPunk
03.04.2019 17:50Решил проблему, поменял у старого драйвера диалект, похоже список драйверов формируется на основе этого.
someoneyoudontknow
03.04.2019 17:34ребят, JetBrains, у вас -ус отклеился- сертификат сломался на www.jetbrains.com
moscas Автор
03.04.2019 17:34Непонятно, вроде всё номарльно. Напишите подробней, пожалуйста.
someoneyoudontknow
03.04.2019 17:37виноват, все ок. это у меня виртуалка с ума сходит. прошу прощения за беспокойство
Phoen
03.04.2019 19:20Очень хороший инструмент, но для pet projects и прочей домашней разработки очень печалит отсутствие community версии. В обозримом будущем не предвидится?
SbWereWolf
03.04.2019 22:58оно стоит копейки для физических лиц, дождитесь скидок, будет ещё дешевле.
moscas Автор
04.04.2019 12:25Не предвидется. Но нам кажется, что 9 долларов в месяц это не так уж много.
ivanych
03.04.2019 22:21Напомним, что функциональность DataGrip включена и в другие наши платные IDE, кроме WebStorm.
Можно чуть подробнее? Есть плагин, который превращает, скажем, PyCharm в DataGrip? Или что это значит?
ivanych
03.04.2019 23:12Впрочем, что это я? Пошел и сам посмотрел — вкладка «Database» присутствует по умолчанию и в ней, собственно, находится всё что нужно.
Ишь ты, почему я раньше не обращал внимания? Спасибо, удобно!Dmitry88
04.04.2019 00:57Полностью повторяет или DataGrip имеет свои уникальные фичи?
ivanych
04.04.2019 01:06Поскольку я сам первый раз это увидел, то не могу уверенно сказать. На глаз — очень похоже.
gudvinr
04.04.2019 01:42На мой взгляд, если нужная функциональность DG — это дёрнуть пару запросов раз в сессию и погулять по таблице/поредактировать колонки — то встроенного в другие IDE функционала достаточно и разницы не заметить.
Но если нужно много работать с SQL, отслеживать изменения в хранимых процедурах и работать с больше чем двумя БД, то DG обеспечивает более приятный опыт, потому что интерфейс в этом плане более заточен под такие нужды и в этом случае уже сама не-бд ориентированная IDE только мешает.
rjhdby
04.04.2019 11:36По Informix никаких новостей?
moscas Автор
04.04.2019 12:21Пока никаких, могу только номер тикета прислать :) youtrack.jetbrains.com/issue/DBE-435
z0mb1ek
04.04.2019 12:20было бы хорошо научить DataGrip редактировать Set в Cassandra
kornilova-l
04.04.2019 14:36С Cassandra не все так просто, потому что драйвер не умеет конвертировать строки в set, map, udt…
Импорт для таких типов тоже не работает :(
Тикет есть: youtrack.jetbrains.com/issue/DBE-8058
Мы постараемся обойти это ограничение
sFreest
04.04.2019 14:36Друзья, не могли бы вы починить youtrack.jetbrains.com/issue/DBE-5640? Тикет висит больше года, из-за него невозможно писать SQL-код для Oracle в отличных от дефолтного стилях во всех IDE JetBrains. Только в моей компании от этого страдает несколько десятков разработчиков…
Zuzik3500
04.04.2019 18:13Тикет есть youtrack.jetbrains.com/issue/DBE-2310 и youtrack.jetbrains.com/issue/DBE-6208, не подскажете ожидается ли по нему прогресс?
Еще такая проблема возникает (пользуюсь PyCharm):
1) Создаем процедуру в базе, делаем в ней ошибку. При коммите в консоли она (текст ошибки) не отображается (возможно я его просто не увидел, сейчас точно сказать не могу, проверить могу чуть позже).
2) В списке процедур новосозданная отображается подчеркнутая красной линией. Нажимаем правой кнопкой, находим пункт перекомпилировать — произошла ошибка, текст ошибки не отображается. Хотелось бы, чтоб в этом случае его можно было увидеть.
И с этим тикетом youtrack.jetbrains.com/issue/DBE-6187 как я понимаю пока все глухо?
merhalak
05.04.2019 14:19В дереве файлов добавили действие Detach Directory: открепить папку. Раньше, чтобы открепить папку (то есть не показывать её в этом дереве), надо было нажать Delete, и DataGrip спрашивал: вы хотите удалить или открепить? Это было неудобно и непонятно :)
Вы с таким поаккуратнее, а то горячую клавишу оставили на удалении: решит кто-то сделать detach, а получит remove.
Кстати, а по идейке статья уже была?
moscas Автор
05.04.2019 14:23Да я, честно говоря, думаю, мало кто знал, что Detach делается через клавишу Delete :)
Но на Delete по-прежнему появляется вопрос, так что, чтобы облажаться, нужно очень постараться.
Статья про Идею еще не вышла, но выйдет.
shapovalex
Когда же прийдет очередь MongoDB?
Yeah
Сдается мне, у них какие-то проблемы с лицензированием. Потому как есть совсем уж экзотические вещи, а Монга, которую сейчас пихают везде, где только можно — отсутствует
shapovalex
Судя по
youtrack.jetbrains.com/issue/DBE-41
дело в том, что они не ходят заморачиваться с чистым NoSQL.
Все базы которые они сейчас поддерживают так или иначе имеют SQL подобный синтаксис.
И, опять же, исходя из тикета тот же Redis имеет больше плюсов, чем монга
moscas Автор
Придёт! Проблем с лицензированием нет. Монга действительно непохожа на то, что мы делали до этого, отчасти поэтому её ещё нет.
stgunholy
Очень-очень жду!