Перейти к основному содержимому

Возможности расширения 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(, и вы увидите список доступных ресурсов и их типов для завершения вызова функции. Автодополнение не срабатывает при замене существующих имён моделей внутри скобок.
  • Автодополнение имён функций, специфичных для диалекта.
Example of the VS Code extension IntelliSenseExample of the VS Code extension IntelliSense

Мгновенный рефакторинг

Переименование моделей:

  • Щёлкните правой кнопкой мыши по файлу в дереве файлов и выберите Rename.
  • После переименования файла появится запрос с вопросом, хотите ли вы применить изменения рефакторинга.
  • Выберите OK, чтобы применить изменения, или Show Preview, чтобы посмотреть предварительный список изменений.
  • После применения изменений ref будут обновлены и будут использовать новое имя модели.

Переименование колонок:

  • Щёлкните правой кнопкой мыши по алиасу колонки и выберите Rename Symbol.
  • После переименования колонки появится запрос с вопросом, хотите ли вы применить изменения рефакторинга.
    • Выберите OK, чтобы применить изменения, или Show Preview, чтобы посмотреть предварительный список изменений.
  • После применения изменений все downstream-ссылки на колонку будут обновлены и начнут использовать новое имя колонки.

Примечание: Переименование моделей и колонок пока не поддерживается для snapshots и ресурсов, определённых в файлах .yml.

Переход к определению и ссылкам

Переход к определению любого ref, макроса, модели или колонки одним кликом. Особенно полезно в крупных проектах с большим количеством моделей и макросов. Определения из установленных пакетов не поддерживаются.

Использование:

  • Используйте Command или Ctrl-клик, чтобы перейти к определению идентификатора.
  • Также можно щёлкнуть правой кнопкой мыши по идентификатору и выбрать Go to Definition или Go to References.
  • Поддерживаются имена CTE, имена колонок, *, имена макросов, а также вызовы dbt ref() и source().

Подсказки при наведении

Просматривайте контекст таблиц, колонок и функций, не покидая редактор. Просто наведите курсор на любой SQL-элемент, чтобы увидеть такие детали, как имена колонок и типы данных.

Использование:

  • Наведите курсор на *, чтобы увидеть развёрнутый список колонок и их типы.
  • Наведите курсор на имя колонки или алиас, чтобы увидеть её тип.

Живой предпросмотр моделей и CTE

Предпросмотр результата CTE или всей модели прямо внутри редактора для более быстрой проверки и отладки.

Использование:

  • Нажмите на иконку таблицы или используйте сочетание клавиш cmd+enter (macOS) / ctrl+enter (Windows/Linux), чтобы посмотреть результаты запроса.
  • Нажмите Preview CTE в codelens, чтобы посмотреть результаты CTE.
  • Результаты будут отображены во вкладке Query Results в нижней панели.
  • Таблицу предпросмотра можно сортировать, а результаты сохраняются до закрытия вкладки.
  • Также можно выделить диапазон SQL-кода, чтобы посмотреть результаты конкретного фрагмента запроса.

Насыщенный lineage в контексте

Просматривайте lineage на уровне таблиц или колонок прямо в процессе разработки — без переключения контекста и потери фокуса.

Использование вкладки lineage в Cursor

Если вы используете расширение 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+.

Просмотр скомпилированного кода

Просматривайте SQL-код, который будут строить ваши модели, в реальном времени — рядом с dbt-кодом.

Использование:

  • Нажмите на иконку кода, чтобы посмотреть скомпилированный код рядом с исходным.
  • Скомпилированный код обновляется при сохранении исходного кода.
  • Клик по dbt-макросу переводит фокус на соответствующий участок скомпилированного кода.
  • Клик по блоку скомпилированного кода переводит фокус на соответствующий исходный код.

Гибкая сборка

Используйте палитру команд для быстрой сборки моделей с применением сложных селекторов.

Использование:

  • Нажмите на иконку dbt или используйте сочетание клавиш cmd+shift+enter (macOS) / ctrl+shift+enter (Windows/Linux), чтобы открыть меню быстрого выбора.
  • Выберите команду для запуска.

Нашли ошибку?

0
Loading