Привет! Посмотрим на новые штуки в DataGrip 2019.1. Напомним, что функциональность DataGrip включена и в другие наши платные IDE, кроме WebStorm.
![image](https://habrastorage.org/r/w1560/webt/9o/px/uh/9opxuhpj71thad92fxn1pk7dzj0.png)
В этом релизе сразу четыре базы получили официальную поддержку в наших инструментах:
Apache Hive – система управления базами данных на основе платформы Hadoop.
Greenplum – аналитическая СУБД для хранилищ данных на основе PostgreSQL.
Vertica – колоночная база для анализа больших данных.
Snowflake – облачное хранилище данных. Если говорить о реляционных базах, то Snowflake просили больше всего. В этом релизе мы поддержали только SQL, инстропекцию выпустим попозже.
![image](https://habrastorage.org/r/w1560/webt/nz/12/6f/nz126f5rdsfs1ql9w26auau9bu8.png)
Мы сделали изменения в диалоговом окне соединения с базой: постарались сделать более понятно и удобно.
В этой вкладке, в основном, произошёл рефакторинг.
Поле Connection type раньше называлось URL type и было в самом низу. Но, так как значение в этом поле определяет дальнейший процесс, теперь оно наверху.
Поле Database расположили после ввода логина и пароля, потому что аутентификация нужна для того, чтобы отобразить список баз по Ctrl/Cmd+Пробел.
![image](https://habrastorage.org/r/w1560/webt/oh/jh/72/ohjh72y10vebrs4wdpe6tm8t_jy.png)
В комментариях к прошлому посту много обсуждали сохранение пароля. Добавили новых опций и сделали выпадающий список. Значения этого списка:
– Не сохранять пароль.
– Сохранять до перезапуска DataGrip (раньше так работала опция “не сохранять”).
– Сохранять на сессию: пока вы не отсоединитесь от источника данных.
– Сохранять навсегда.
![image](https://habrastorage.org/r/w1560/webt/9c/3h/bb/9c3hbbcx-kxmtpsxl54yvfd2ida.png)
Чтобы избежать непонятностей, пустой пароль вводите через контекстное меню.
![image](https://habrastorage.org/r/w1560/webt/d_/on/x1/d_onx1ekg0exg7e_fwd5kswimm8.png)
Результаты Test Connection теперь показываются в самом окне, никаких лишних кликов и диалогов.
![image](https://habrastorage.org/r/w1560/webt/71/im/os/71imosaf67ldyyimdqqhsaucvec.png)
А если драйвера не скачаны, DataGrip предложит это сделать. Раньше кнопка Test Connection была в таком случае заблокирована, что путало пользователей.
![image](https://habrastorage.org/r/w1560/webt/7m/fs/cw/7mfscwflinegvzhawidk8tvlrrk.png)
Сюда из вкладки 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 не включен, для каждой новой консоли создаётся новое подключение.
![image](https://habrastorage.org/r/w1560/webt/0x/xf/ql/0xxfqld373fkn9uipfoc5rt-xs8.png)
Сюда переехал фильтр отображаемых в дереве объектов.
![image](https://habrastorage.org/r/w1560/webt/zl/g5/ey/zlg5ey6jgklwbf9t2jsnmmcb0_o.png)
Список последних местонахождений
Новое окно Recent locations показывает, где вы недавно были. Элементы списка — это небольшие куски кода, которые вы недавно редактировали или смотрели. Это полезно, если вы помните контекст, но не помните название файла. В DataGrip такое часто происходит, потому что все консоли названы похожим образом :) Сочетание клавиш по умолчанию:
Ctrl/Cmd+Shift+E.
![image](https://habrastorage.org/r/w1560/webt/ms/kp/0_/mskp0_peqks-px91kwibozfwwae.png)
Если раньше вы использовали это сочетание клавиш для отображения списка недавно изменённых файлов, то теперь, пожалуйста, пользуйтесь двойным нажатием Ctrl/Cmd+E.
Поиск по пути
Мы убрали ненужные опции, которые “достались” нам от платформы: Module и Project. Теперь по умолчанию Find in path в DataGrip ищет везде. Ещё добавили новую область поиска Attached Directories — она включает в себя только файлы и папки из панели Files.
![image](https://habrastorage.org/r/w1560/webt/5r/um/0a/5rum0a3hxshskzsarvsolwvnjg4.png)
Действия из результатов навигации
Теперь из результатов навигации работают действия, которые применимы к объектам в коде или дереве. Например, вы ищете таблицу. Вот что можно сделать из окна с результатами.
– Посмотреть DDL: Ctrl/Cmd+B.
– Открыть данные: F4.
– Открыть окно Modify Table: Ctrl/Cmd+F6.
– Отобразить в другом контексте: Alt+F1 (например, показать в дереве).
– Увидеть общую информацию: Ctrl+Q/F1.
– Сгенерировать SQL: Ctrl/Cmd+Alt+G.
![image](https://habrastorage.org/r/w1560/webt/zm/di/tr/zmditrceclyknvkbpiug6z1bxvw.png)
Комбинированные элементы в автодополнении
Для
![image](https://habrastorage.org/r/w1560/webt/ae/mu/ny/aemuny9xagpadiwbxlckkpo0a04.png)
Не забывайте об аббревиатурах.
![image](https://habrastorage.org/r/w1560/webt/im/hm/wb/imhmwbd_n0ciqcy1whuskd8knuc.png)
Новые инспекции
DataGrip предупредит, если вы используете курсор, который не открыли.
![image](https://habrastorage.org/r/w1560/webt/wz/pa/sl/wzpasl56ispwqvssgscafrg3ceo.png)
Следующие две инспекции выключены по умолчанию, но некоторым могут понадобится.
Если используете неименованные аргументы, это будет подсвечено.
![image](https://habrastorage.org/r/w1560/webt/ln/-g/jd/ln-gjdhddydkoeriusa-e6yqave.png)
Инспекция, которая ругается на оператор GOTO.
![image](https://habrastorage.org/r/w1560/webt/gq/d3/zp/gqd3zpqlv2bz2x4ok2r6vycjh6y.png)
Добавили настройку для папки проекта по умолчанию. Новые проекты будут создаваться в этой папке.
![image](https://habrastorage.org/r/w1560/webt/fh/6u/wr/fh6uwricsrh6m0eb3cnf3tlqqu0.png)
Действие Save as… для консоли теперь:
– Предлагает проектную папку по умолчанию.
– Запоминает последний выбор.
![image](https://habrastorage.org/r/w1560/webt/pf/2w/gk/pf2wgkvw38gt676jwaoksjsbcdk.png)
В дереве файлов добавили действие Detach Directory: открепить папку. Раньше, чтобы открепить папку (то есть не показывать её в этом дереве), надо было нажать Delete, и DataGrip спрашивал: вы хотите удалить или открепить? Это было неудобно и непонятно :)
![image](https://habrastorage.org/r/w1560/webt/np/kr/xo/npkrxod9cottfaguzw1ibwjx-aw.png)
Мы написали свою интроспекцию для DB2. Это означает, что информацию об объектах базы мы получаем при помощи запросов, а не через JDBC-драйвер, как раньше. В дереве, таким образом, появились объекты, которых раньше не было: триггеры, типы, методы, модули, счётчики, роли и другие.
![image](https://habrastorage.org/r/w1560/webt/ag/wm/n5/agwmn5bjuwib7i_6woyhpta12x4.png)
Дерево хранит контекст: имя источника данных залипает сверху.
![image](https://d3nmt5vlzunoa1.cloudfront.net/datagrip/files/2019/02/TreeContext-1.png)
Для не поддерживаемых баз нарисовали иконки: те, у кого источники данных созданы для таких баз, перестанут путаться.
![image](https://habrastorage.org/r/w1560/webt/dy/o-/nz/dyo-nzfk8eazuw5etk8e3roqcpo.png)
Ещё нарисовали абстрактных иконок, их можно использовать в настройках драйвера.
![image](https://habrastorage.org/r/w1560/webt/br/g5/bj/brg5bjqbzk00zny9_foycp73l-g.png)
Кастомные темы
Пользователи DataGrip получили возможность делать любые цветовые схемы. Новая схема — это плагин, который надо поставить из раздела Plugins в настройках.
![image](https://habrastorage.org/r/w1560/webt/zk/dj/nc/zkdjnccyvtmka1n52zqdacjiiqs.png)
О том, как делать свои темы, читайте тут:
Detailed tutorial about how to create your own custom Theme.
Blog post about creating custom themes for IntelliJ Platform
Мы попробовали сделать пару новых сами. Выглядят они так:
Cyan
![image](https://habrastorage.org/r/w1560/webt/_w/9z/cl/_w9zclbs2m5ealu5r0twin-z9lq.png)
Dark purple
![image](https://habrastorage.org/r/w1560/webt/um/ra/kq/umrakqs-vdboy3hb7lnpa6hizls.png)
Редактор данных
Фильтр предлагает значения из буфера обмена.
![image](https://habrastorage.org/r/w1560/webt/ww/fm/jb/wwfmjbhwtsbckggfzql1rb8gftc.png)
Всё!
– Более подробно тут (на англ.)
– Скачать триал на месяц
– Твитер, который мы читаем
– Почта, которую мы читаем: datagrip@jetbrains.com
– Баг-трекер
– Комментарии, которые мы читаем ↓↓↓
Команда DataGrip
![image](https://habrastorage.org/webt/9o/px/uh/9opxuhpj71thad92fxn1pk7dzj0.png)
Поддержка новых баз
В этом релизе сразу четыре базы получили официальную поддержку в наших инструментах:
Apache Hive – система управления базами данных на основе платформы Hadoop.
Greenplum – аналитическая СУБД для хранилищ данных на основе PostgreSQL.
Vertica – колоночная база для анализа больших данных.
Snowflake – облачное хранилище данных. Если говорить о реляционных базах, то Snowflake просили больше всего. В этом релизе мы поддержали только SQL, инстропекцию выпустим попозже.
![image](https://habrastorage.org/webt/nz/12/6f/nz126f5rdsfs1ql9w26auau9bu8.png)
Соединение
Мы сделали изменения в диалоговом окне соединения с базой: постарались сделать более понятно и удобно.
General
В этой вкладке, в основном, произошёл рефакторинг.
Поле Connection type раньше называлось URL type и было в самом низу. Но, так как значение в этом поле определяет дальнейший процесс, теперь оно наверху.
Поле Database расположили после ввода логина и пароля, потому что аутентификация нужна для того, чтобы отобразить список баз по Ctrl/Cmd+Пробел.
![image](https://habrastorage.org/webt/oh/jh/72/ohjh72y10vebrs4wdpe6tm8t_jy.png)
В комментариях к прошлому посту много обсуждали сохранение пароля. Добавили новых опций и сделали выпадающий список. Значения этого списка:
– Не сохранять пароль.
– Сохранять до перезапуска DataGrip (раньше так работала опция “не сохранять”).
– Сохранять на сессию: пока вы не отсоединитесь от источника данных.
– Сохранять навсегда.
![image](https://habrastorage.org/webt/9c/3h/bb/9c3hbbcx-kxmtpsxl54yvfd2ida.png)
Чтобы избежать непонятностей, пустой пароль вводите через контекстное меню.
![image](https://habrastorage.org/webt/d_/on/x1/d_onx1ekg0exg7e_fwd5kswimm8.png)
Результаты Test Connection теперь показываются в самом окне, никаких лишних кликов и диалогов.
![image](https://habrastorage.org/webt/71/im/os/71imosaf67ldyyimdqqhsaucvec.png)
А если драйвера не скачаны, DataGrip предложит это сделать. Раньше кнопка Test Connection была в таком случае заблокирована, что путало пользователей.
![image](https://habrastorage.org/webt/7m/fs/cw/7mfscwflinegvzhawidk8tvlrrk.png)
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 не включен, для каждой новой консоли создаётся новое подключение.
![image](https://habrastorage.org/webt/0x/xf/ql/0xxfqld373fkn9uipfoc5rt-xs8.png)
Schemas
Сюда переехал фильтр отображаемых в дереве объектов.
![image](https://habrastorage.org/webt/zl/g5/ey/zlg5ey6jgklwbf9t2jsnmmcb0_o.png)
Навигация и поиск
Список последних местонахождений
Новое окно Recent locations показывает, где вы недавно были. Элементы списка — это небольшие куски кода, которые вы недавно редактировали или смотрели. Это полезно, если вы помните контекст, но не помните название файла. В DataGrip такое часто происходит, потому что все консоли названы похожим образом :) Сочетание клавиш по умолчанию:
Ctrl/Cmd+Shift+E.
![image](https://habrastorage.org/webt/ms/kp/0_/mskp0_peqks-px91kwibozfwwae.png)
Если раньше вы использовали это сочетание клавиш для отображения списка недавно изменённых файлов, то теперь, пожалуйста, пользуйтесь двойным нажатием Ctrl/Cmd+E.
Поиск по пути
Мы убрали ненужные опции, которые “достались” нам от платформы: Module и Project. Теперь по умолчанию Find in path в DataGrip ищет везде. Ещё добавили новую область поиска Attached Directories — она включает в себя только файлы и папки из панели Files.
![image](https://habrastorage.org/webt/5r/um/0a/5rum0a3hxshskzsarvsolwvnjg4.png)
Действия из результатов навигации
Теперь из результатов навигации работают действия, которые применимы к объектам в коде или дереве. Например, вы ищете таблицу. Вот что можно сделать из окна с результатами.
– Посмотреть DDL: Ctrl/Cmd+B.
– Открыть данные: F4.
– Открыть окно Modify Table: Ctrl/Cmd+F6.
– Отобразить в другом контексте: Alt+F1 (например, показать в дереве).
– Увидеть общую информацию: Ctrl+Q/F1.
– Сгенерировать SQL: Ctrl/Cmd+Alt+G.
![image](https://habrastorage.org/webt/zm/di/tr/zmditrceclyknvkbpiug6z1bxvw.png)
Работа с кодом
Комбинированные элементы в автодополнении
Для
CREATE
и DROP
автодополнение предлагает комбинированные варианты.![image](https://habrastorage.org/webt/ae/mu/ny/aemuny9xagpadiwbxlckkpo0a04.png)
Не забывайте об аббревиатурах.
![image](https://habrastorage.org/webt/im/hm/wb/imhmwbd_n0ciqcy1whuskd8knuc.png)
Новые инспекции
DataGrip предупредит, если вы используете курсор, который не открыли.
![image](https://habrastorage.org/webt/wz/pa/sl/wzpasl56ispwqvssgscafrg3ceo.png)
Следующие две инспекции выключены по умолчанию, но некоторым могут понадобится.
Если используете неименованные аргументы, это будет подсвечено.
![image](https://habrastorage.org/webt/ln/-g/jd/ln-gjdhddydkoeriusa-e6yqave.png)
Инспекция, которая ругается на оператор GOTO.
![image](https://habrastorage.org/webt/gq/d3/zp/gqd3zpqlv2bz2x4ok2r6vycjh6y.png)
Работа с файлами
Добавили настройку для папки проекта по умолчанию. Новые проекты будут создаваться в этой папке.
![image](https://habrastorage.org/webt/fh/6u/wr/fh6uwricsrh6m0eb3cnf3tlqqu0.png)
Действие Save as… для консоли теперь:
– Предлагает проектную папку по умолчанию.
– Запоминает последний выбор.
![image](https://habrastorage.org/webt/pf/2w/gk/pf2wgkvw38gt676jwaoksjsbcdk.png)
В дереве файлов добавили действие Detach Directory: открепить папку. Раньше, чтобы открепить папку (то есть не показывать её в этом дереве), надо было нажать Delete, и DataGrip спрашивал: вы хотите удалить или открепить? Это было неудобно и непонятно :)
![image](https://habrastorage.org/webt/np/kr/xo/npkrxod9cottfaguzw1ibwjx-aw.png)
Дерево базы данных
Мы написали свою интроспекцию для DB2. Это означает, что информацию об объектах базы мы получаем при помощи запросов, а не через JDBC-драйвер, как раньше. В дереве, таким образом, появились объекты, которых раньше не было: триггеры, типы, методы, модули, счётчики, роли и другие.
![image](https://habrastorage.org/webt/ag/wm/n5/agwmn5bjuwib7i_6woyhpta12x4.png)
Дерево хранит контекст: имя источника данных залипает сверху.
![image](https://d3nmt5vlzunoa1.cloudfront.net/datagrip/files/2019/02/TreeContext-1.png)
Для не поддерживаемых баз нарисовали иконки: те, у кого источники данных созданы для таких баз, перестанут путаться.
![image](https://habrastorage.org/webt/dy/o-/nz/dyo-nzfk8eazuw5etk8e3roqcpo.png)
Ещё нарисовали абстрактных иконок, их можно использовать в настройках драйвера.
![image](https://habrastorage.org/webt/br/g5/bj/brg5bjqbzk00zny9_foycp73l-g.png)
Остальное
Кастомные темы
Пользователи DataGrip получили возможность делать любые цветовые схемы. Новая схема — это плагин, который надо поставить из раздела Plugins в настройках.
![image](https://habrastorage.org/webt/zk/dj/nc/zkdjnccyvtmka1n52zqdacjiiqs.png)
О том, как делать свои темы, читайте тут:
Detailed tutorial about how to create your own custom Theme.
Blog post about creating custom themes for IntelliJ Platform
Мы попробовали сделать пару новых сами. Выглядят они так:
Cyan
![image](https://habrastorage.org/webt/_w/9z/cl/_w9zclbs2m5ealu5r0twin-z9lq.png)
Dark purple
![image](https://habrastorage.org/webt/um/ra/kq/umrakqs-vdboy3hb7lnpa6hizls.png)
Редактор данных
Фильтр предлагает значения из буфера обмена.
![image](https://habrastorage.org/webt/ww/fm/jb/wwfmjbhwtsbckggfzql1rb8gftc.png)
Всё!
– Более подробно тут (на англ.)
– Скачать триал на месяц
– Твитер, который мы читаем
– Почта, которую мы читаем: datagrip@jetbrains.com
– Баг-трекер
– Комментарии, которые мы читаем ↓↓↓
Команда DataGrip