Доступна 0xDBE 1.0 Preview

JetBrains приближается к релизу новой IDE для работы с SQL и базами данных. Мы запустили EAP программу год назад и благодарим всех её участников. Как всегда, ваши мнения и пожелания сделали наш продукт лучше.

Мы рады представить вам 0xDBE 1.0 Preview. Это отличный шанс попробовать нашу новую IDE и поделиться впечатлениями, что поможет нам сделать 0xDBE ещё лучше к моменту релиза.

119627a5bf45438a901ae1a4f4d3c095.png

Нам нравится название 0xDBE, но оно всё же рабочее, и к релизу мы выберем другое — более читаемое.

Ещё мы хотим лучше узнать наших пользователей и понять, как вы работаете с базами данных, поэтому составили небольшой опрос. Просим пройти его, на это уйдёт 5-8 минут. Среди тех, кто принял в нём участие, мы разыграем десять годовых лицензий на 0xDBE.

Итак, вот что мы добавили с момента запуска EAP:

Быстрая и точная интроспекция

В первую очередь, мы переработали алгоритм получения мета-информации о базе данных и расширили стандартную JDBC-интроспекцию для большинства поддерживаемых СУБД. Помимо увеличения скорости это привело к улучшениям в графическом интерфейсе — теперь объекты базы данных сгруппированы по типам:

02094061ee1743049fc97fbd6b51fccc.png

Управление объектами БД

При нажатии Ctrl+F6 (Cmd-F6 для OS X) на имени таблицы в текстовом редакторе или в окне Database view открывается окно Modify Table, в котором можно добавлять и удалять столбцы, менять их свойства, добавлять и удалять ключи и индексы. В реальном времени генерируется DDL-скрипт, который будет выполнен для этих изменений:

25559a0d7cb840e493608ea25fa8a46a.png

Текстоый поиск

Теперь доступен текстовый поиск по результату запроса. Например, вам нужно найти данные, а столбец забыли. Есть поддержка регулярных выражений:

37fdc603f3174f698cf03e45a04da626.png
Кодогенерация запросов

По нажатию Alt+Ins (Cmd-N для OS X) в текстовом редакторе доступна генерация DDL-запросов. В появившемся окне вы можете создавать таблицы, функции и процедуры на основе графического интерфейса. Если курсор находится внутри существующего DDL-запроса, IDE предлагает изменить столбец, добавить ключ или индекс.

Получившийся код вставится в текстовый редактор или сразу выполнится в базе данных:

bf57b78c77664a41b48737cc843ffaaf.gif

Когда вы собираетесь вставить данные, используя несколько идущих подряд предложений INSERT, эти данные можно редактировать в виде таблицы ещё до вставки. Если вы добавите строчку в эту виртуальную таблицу, ещё одно предложение INSERT сгенерируется в редакторе.

bbef4ce387254d128848a04fbd750028.png

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

Мы вынесли открытие новой консоли в отдельный пункт меню. Перемещайтесь между несколькими консолями в окне Files, через меню Recent Files, в Navigation toolbar или по Ctrl+Tab. У каждой консоли есть переключатель контекста — меняйте схему для выполнения скрипта, не создавая новую консоль:

3b31495ddedc4cd9ad4ecf512427d00e.png

История изменений

IDE локально хранит историю измнения каждого файла. В смежных окнах можно сравнить версии и откатиться к любой из них:

5f62799883e341cab1da9898d1e013a8.png

Исполнение запросов

Выполнение выделенного блока кода теперь работает не только в консолях, но и в файлах. Также вы можете выбрать, как IDE должна поступить в этом случае: выполнять выделенный блок как один запрос, выполнять блок как несколько запросов, или попытаться самой определить, что делать, и выполнить валидный скрипт, даже если вы выделелили нерабочий кусок кода:

5464ca8f458040d785a68850198bd181.png

Ещё мы добавили опций для запуска запроса из консоли. Если курсор стоит внутри сложного выражения, IDE может выполнятьтолько подзапрос, выполнять весь запрос, или спрашивать, какой из доступных запросов выполнить:

111ab2743c4e44b0a7d6243545302e21.jpg

Если курсор стоит вне SQL-кода, то также есть три опции: IDE может выполнить все запросы в файле, выполнить только запросы ниже курсора или не делать ничего.

Выполнение запросов из Structure view

По нажатию Ctrl+Enter (Cmd-Enter для OS X) запрос выполняется прямо из окна Structure view. Это удобно, если вам нужно быстро выполнить только некоторые запросы из файла:

4596125876de42e59cfa3cb6c0f6b12b.png

План выполнения

Для запросов доступен план выполнения:

ce2708aad81f46409cd2622ad1b27c5c.png

Сравнение результатов запросов

Результаты выполнения двух запросов возможно сравнить в смежных окнах. IDE подсвечивает разницу и позволяет изменять строгость критерия оценки равенства строк. То есть, если вы хотите считать равными строки, которые отличаются данными только в одном (или более, на выбор) столбце, это указывается в значении параметра Tolerance. Любой столбец также может быть исключён из процесса сравнения:

a08af3a62cdf4a948c4820526d288dd4.png

Поддержка формата CSV

Для редактирования CSV-файлов или других табличных данных в тексте выберите пункт Edit as Table из контекстного меню. Откроется окно настроек, в котором вы можете указать разделитель, определить, есть ли в файле заголовки, в каких случаях брать значения в кавычки и т. д. Данные из файла сразу отобразятся в виде превью таблицы:

2a10fe42d4f546799a3a0ddd8eb9f2d3.png

Настройки запросов с параметрами

Мы обновили окно настроек параметризированных запросов, которое находится в
Settings → Database → User Parameters. Теперь подсвечиваются регулярные выражения, а также есть возможность выбирать диалект, в котором будут использоваться шаблоны:

b393ec3d1c194d3eb48bf7802aefd4bc.png

Диаграммы

Вы можете смотреть диаграммы с наглядным отображением зависимостей между объектами:

e8a652880b64491d8613a44654383f7b.png

Улучшенная навигация по объектам БД

Для того чтобы перейти к любому объекту базы, нажмите Ctrl+N (Cmd-O для OS X) и введите его имя в текстовое поле. Если это таблица, вы увидите табличный редактор, а если функция или процедура, откроется редактор с DDL-скриптом для её изменения:

b28d21a346b143b4a23e26e20986f3b0.gif

Плагины по умолчанию из Intellij IDEA теперь могут быть установлены в 0xDBE. Это Terminal, Git, Subversion и другие.

В дополнение ко всему, мы улучшили поддержку HiDPI для Windows и Linux, добавили Distraction Free mode — режим, в котором вы видите только текстовый редактор, а также сделали много других небольших улучшений.

Мы планируем релиз нашей IDE для SQL-разработчиков на середину ноября. Она будет доступна в рамках JetBrains Toolbox, как «Single IDE», а также как часть пакета «All Products».

Будем рады ответить на любые вопросы!

© Habrahabr.ru