Возможности расширения dbt для VS Code Preview
Расширение dbt для VS Code работает на базе быстрого и мощного движка dbt Fusion и динамического Language Server Protocol (LSP), который обеспечивает более удобные рабочие процессы, ускоренную разработку и простую навигацию по проекту.
Следующие возможности расширения помогают выполнять больше задач за меньшее время:
- Живое обнаружение ошибок: Автоматическая валидация SQL-кода для обнаружения ошибок и отображения предупреждений без обращения к хранилищу. Включает как ошибки dbt (например, некорректный
ref), так и SQL-ошибки (например, неверное имя колонки или синтаксическую ошибку). - Молниеносное время парсинга: Парсинг даже самых крупных проектов до 30 раз быстрее, чем в dbt Core.
- Мощный IntelliSense: Автодополнение SQL-функций, имён моделей, макросов и не только.
- Мгновенный рефакторинг: Переименование моделей или колонок с автоматическим обновлением всех ссылок по проекту.
- Переход к определению: Переход к определению любого
ref, макроса, модели или колонки одним кликом. Особенно полезно в больших проектах с большим количеством моделей и макросов. Определения из установленных пакетов не включаются. - Подсказки при наведении: Просмотр контекста таблиц, колонок и функций без выхода из кода. Просто наведите курсор на SQL-элемент, чтобы увидеть детали, такие как имена колонок и типы данных.
- Живой предпросмотр CTE: Предпросмотр результата CTE прямо внутри dbt-модели для более быстрой проверки и отладки.
- Насыщенный lineage в контексте: Просмотр lineage на уровне таблиц или колонок в процессе разработки без переключения контекста и потери фокуса.
- Если вы используете Cursor, вкладка lineage лучше всего работает в режиме Editor и не отображается в режиме Agent. Если вы находитесь в режиме Agent и вкладка lineage не отображается, просто переключитесь в режим Editor, чтобы увидеть lineage таблиц и колонок вашего проекта.
- Просмотр скомпилированного кода: Просмотр SQL-кода, который будут строить ваши модели, в реальном времени — рядом с dbt-кодом.
- Гибкая сборка: Использование палитры команд для сборки моделей с применением сложных селекторов.
Живое обнаружение ошибок
Автоматически валидирует SQL-код, обнаруживая ошибки и отображая предупреждения без обращения к хранилищу.
- Отображает диагностические сообщения (красные подчёркивания) для:
- Синтаксических ошибок (пропущенные запятые, опечатки в ключевых словах и т.д.).
- Некорректных или отсутствующих имён колонок (например,
select not_a_column from {{ ref('real_model') }}). - Отсутствующих
group byили колонок, которые не агрегированы и не входят в группировку. - Некорректных имён функций или аргументов.
- Наведите курсор на красное подчёркивание, чтобы увидеть описание ошибки.
- Полная диагностическая информация доступна во вкладке Problems.
Молниеносное время парсинга
Парсинг даже самых крупных проектов выполняется до 30 раз быстрее, чем с dbt Core.
Мощный IntelliSense
Автодополнение SQL-функций, имён моделей, макросов и другого.
Использование:
- Автодополнение вызовов
refиsource. Например, введите{{ ref(или{{ source(, и вы увидите список доступных ресурсов и их типов для завершения вызова функции. Автодополнение не срабатывает при замене существующих имён моделей внутри скобок. - Автодополнение имён функций, специфичных для диалекта.
Мгновенный рефакторинг
Переименование моделей:
- Щёлкните правой кнопкой мыши по файлу в дереве файлов и выберите Rename.
- После переименования файла появится запрос с вопросом, хотите ли вы применить изменения рефакторинга.
- Выберите OK, чтобы применить изменения, или Show Preview, чтобы посмотреть предварительный список изменений.
- После применения изменений
refбудут обновлены и будут использовать новое имя модели.
Переименование колонок:
- Щёлкните правой кнопкой мыши по алиасу колонки и выберите Rename Symbol.
- После переименования колонки появится запрос с вопросом, хотите ли вы применить изменения рефакторинга.
- Выберите OK, чтобы применить изменения, или Show Preview, чтобы посмотреть предварительный список изменений.
- После применения изменений все downstream-ссылки на колонку будут обновлены и начнут использовать новое имя колонки.
Примечание: Переименование моделей и колонок пока не поддерживается для snapshots и ресурсов, определённых в файлах .yml.
Переход к определению и ссылкам
Переход к определению любого ref, макроса, модели или колонки одним кликом. Особенно полезно в крупных проектах с большим количеством моделей и макросов. Определения из установленных пакетов не поддерживаются.
Использование:
- Используйте Command или Ctrl-клик, чтобы перейти к определению идентификатора.
- Также можно щёлкнуть правой кнопкой мыши по идентификатору и выбрать Go to Definition или Go to References.
- Поддерживаются имена CTE, имена колонок,
*, имена макросов, а также вызовы dbtref()иsource().
Подсказки при наведении
Просматривайте контекст таблиц, колонок и функций, не покидая редактор. Просто наведите курсор на любой SQL-элемент, чтобы увидеть такие детали, как имена колонок и типы данных.
Использование:
- Наведите курсор на
*, чтобы увидеть развёрнутый список колонок и их типы. - Наведите курсор на имя колонки или алиас, чтобы увидеть её тип.
Живой предпросмотр моделей и CTE
Предпросмотр результата CTE или всей модели прямо внутри редактора для более быстрой проверки и отладки.
Использование:
- Нажмите на иконку таблицы или используйте сочетание клавиш
cmd+enter(macOS) /ctrl+enter(Windows/Linux), чтобы посмотреть результаты запроса. - Нажмите Preview CTE в codelens, чтобы посмотреть результаты CTE.
- Результаты будут отображены во вкладке Query Results в нижней панели.
- Таблицу предпросмотра можно сортировать, а результаты сохраняются до закрытия вкладки.
- Также можно выделить диапазон SQL-кода, чтобы посмотреть результаты конкретного фрагмента запроса.
Насыщенный lineage в контексте
Просматривайте lineage на уровне таблиц или колонок прямо в процессе разработки — без переключения контекста и потери фокуса.
Если вы используете расширение dbt для VS Code в Cursor, вкладка lineage лучше всего работает в режиме Editor и не отображается в режиме Agent. Если вы находитесь в режиме Agent и вкладка lineage не отображается, просто переключитесь в режим Editor, чтобы увидеть lineage таблиц и колонок вашего проекта.
Просмотр lineage таблиц:
- Откройте вкладку Lineage в редакторе. Она будет отображать lineage таблиц с фокусом на текущем открытом файле.
- Дважды щёлкните по узлу, чтобы открыть соответствующий файл в редакторе.
- Панель lineage обновляется по мере навигации по файлам dbt-проекта.
- Щёлкните правой кнопкой мыши по узлу, чтобы обновить DAG или посмотреть lineage колонок для узла.
Просмотр lineage колонок:
- Щёлкните правой кнопкой мыши по имени файла или внутри SQL-кода модели.
- Выберите dbt: View Lineage --> Show column lineage.
- Выберите колонку, для которой нужно посмотреть lineage.
- Дважды щёлкните по узлу, чтобы обновить селектор DAG.
- Также можно использовать селекторы колонок в окне lineage, добавив префикс
column:и указав имя колонки.- Например, если вам нужен lineage для колонки
AMOUNTмоделиstg_payments, измените+model.jaffle_shop.stg_payments+на+column:model.jaffle_shop.stg_payments.AMOUNT+.
- Например, если вам нужен lineage для колонки
Просмотр скомпилированного кода
Просматривайте SQL-код, который будут строить ваши модели, в реальном времени — рядом с dbt-кодом.
Использование:
- Нажмите на иконку кода, чтобы посмотреть скомпилированный код рядом с исходным.
- Скомпилированный код обновляется при сохранении исходного кода.
- Клик по dbt-макросу переводит фокус на соответствующий участок скомпилированного кода.
- Клик по блоку скомпилированного кода переводит фокус на соответствующий исходный код.
Гибкая сборка
Используйте палитру команд для быстрой сборки моделей с применением сложных селекторов.
Использование:
- Нажмите на иконку dbt или используйте сочетание клавиш
cmd+shift+enter(macOS) /ctrl+shift+enter(Windows/Linux), чтобы открыть меню быстрого выбора. - Выберите команду для запуска.
