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

О расширении dbt для VS Code

Расширение dbt для VS Code обеспечивает сверхбыструю, интеллектуальную и экономичную разработку с dbt в VS Code. Это единственный способ использовать все возможности dbt v2 при разработке с самостоятельно развернутой установкой.

  • Экономьте время и ресурсы благодаря почти мгновенному парсингу, обнаружению ошибок в реальном времени, мощным возможностям IntelliSense и многому другому.
  • Оставайтесь в потоке благодаря цельному, сквозному процессу разработки dbt, созданному с нуля специально для локальной работы с dbt.

Расширение dbt для VS Code доступно в VS Code Marketplace.

Расширение dbt для VS Code работает с v2 — бесплатным продуктом, который вы получаете по умолчанию при установке dbt.

Совместимость версий​

И dbt v1, и dbt v2 поддерживают расширение dbt для VS Code.

Следующие возможности редактора доступны сразу, если ваш проект соответствует спецификации языка v2:

  • Автодополнение для ref, источников, макросов и блоков документации
  • Переход к определению и поиск ссылок для моделей, источников, макросов и документации
  • Обнаружение синтаксических ошибок Jinja
  • Переименование моделей с обновлением вызовов ref, а также переименование ссылок на источники или таблицы
  • Просмотр скомпилированного SQL и предварительный просмотр модели, выделенного SQL или отдельного CTE
  • Запуск dbt run, build, test и использование селекторов
  • Описания таблиц, метаданные и отображение метаданных при наведении
  • Типы, описания и тесты столбцов в производственной среде
  • Визуальное и текстовое представление происхождения данных таблиц на панели расширения

Если ваш проект ещё не соответствует спецификации языка v2, в расширение встроен инструмент dbt-autofix. Включите его, чтобы исправить использование устаревших возможностей во всём проекте одним pull request. Для каждой проблемы на панели Problems также доступно действие автоматического исправления — через значок лампочки или контекстное меню.

Чтобы получить доступ ко всем возможностям языкового сервера, включая отслеживание происхождения данных на уровне столбцов, переход к определению столбца и поиск ссылок на него, обнаружение несуществующих столбцов и ошибок типов, проверку синтаксиса с учётом особенностей хранилища данных, переименование столбцов с распространением изменений на зависимые объекты и раскрытие SELECT *, включите static_analysis: strict и устраните ошибки разбора. Полный список возможностей приведён в разделе О dbt LSP.

Попробуйте руководство по быстрому старту с dbt v2

Ознакомьтесь с руководством по быстрому старту с v2, чтобы попробовать расширение dbt для VS Code в действии.

После установки расширения dbt для VS Code в вашей IDE появится несколько визуальных улучшений, которые помогут вам ориентироваться в его возможностях и функциях. Подробнее о них читайте в разделе Возможности расширения dbt.

Посмотрите следующее видео, чтобы увидеть функции и возможности расширения dbt VS Code:

Вход в аккаунт и доступ к функциям​

После установки расширения dbt для VS Code вам становятся доступны его функции. Их доступность зависит от режима статического анализа в вашем проекте. Например, для отслеживания происхождения данных на уровне столбцов и перехода к определению столбца требуется static_analysis: strict.

Некоторые функции получают данные из вашего аккаунта dbt platform, например вкладка Catalog и сравнение изменений с использованием отложенного разрешения ссылок на платформе. Войдите в аккаунт dbt platform, чтобы расширение могло обращаться к нему для работы этих функций.

Полный список функций и сведения об их доступности см. в разделе Функции расширения для VS Code.

Вход выполняется с помощью команды dbt login. Состояние входа используется совместно в CLI, расширении dbt для VS Code и dbt State (если вы входите через dbt platform). Вы можете воспользоваться мастером начала работы или выполнить dbt login в терминале, а затем перезапустить или перезагрузить VS Code. Расширение автоматически определит, что вы вошли в аккаунт.

Меню расширения dbt​

Логотип dbt на боковой панели (или надпись dbt Extension на нижней панели) открывает главное меню расширения. В этом меню представлены полезная информация и доступные действия:

  • Кнопка Get started: Запускает процесс обновления до v2.
  • Информация о расширении: Сведения о расширении, v2 и вашем проекте dbt. Включает параметры настройки и доступные действия.
  • Справка: Быстрые ссылки на службу поддержки, отправку сообщений об ошибках и документацию.
Экран приветствия dbt VS Code extension.Экран приветствия dbt VS Code extension.

Кэширование​

Расширение dbt кэширует важную информацию о схемах из вашего data warehouse для повышения скорости и производительности. Кэш автоматически обновляется со временем, но если были внесены недавние изменения, которые не отображаются в проекте, вы можете обновить информацию вручную:

  1. Нажмите на логотип dbt на боковой панели, чтобы открыть меню.
  2. Раскройте раздел Extension info и найдите подраздел Actions.
  3. Нажмите Clear Cache, чтобы обновить данные.

Использование расширения​

После установки расширение dbt автоматически активируется при открытии любого файла .sql или .yml в каталоге проекта dbt.

Конфигурация​

После установки вы можете настроить расширение под свой рабочий процесс:

  1. Откройте настройки VS Code, нажав Ctrl+, (Windows/Linux) или Cmd+, (Mac).
  2. Введите в поиске dbt. На этой странице вы сможете настроить параметры расширения под свои нужды.
Настройки dbt extension в настройках VS Code.Настройки dbt extension в настройках VS Code.

Известные ограничения​

Ниже перечислены известные на данный момент ограничения dbt extension:

  • Remote development: расширение dbt пока не поддерживает удалённые сессии разработки по SSH. Поддержка будет добавлена в одном из будущих релизов. Подробнее об удалённой разработке см. в Supporting Remote Development and GitHub Codespaces и Visual Studio Code Server.

  • Работа с файлами YAML: В настоящее время расширение dbt имеет следующие ограничения при работе с файлами YAML:

    • Переход к определению не поддерживается для узлов, определённых в файлах YAML (например, снимков).
    • При переименовании моделей и столбцов ссылки в файлах YAML не обновляются.
    • Эти ограничения будут устранены в будущих версиях расширения dbt.
  • Переименование моделей: При переименовании файла модели расширение dbt вносит изменения, обновляя все вызовы ref(), которые ссылаются на переименованную модель. Из-за ограничений клиента языкового сервера VS Code расширение не может автоматически сохранять эти изменённые файлы. В результате переименование файла модели может привести к ошибкам компиляции в вашем проекте. Чтобы исправить эти ошибки, вручную сохраните каждый файл, изменённый расширением dbt, или выберите File --> Save All, чтобы сохранить все изменённые файлы.

  • Использование Agent mode в Cursor: при использовании dbt extension в Cursor визуализация lineage корректно работает в режиме Editor и не отображается в Agent mode. Если вы работаете в Agent mode и вам нужно посмотреть lineage, переключитесь в Editor mode, чтобы получить доступ ко всем возможностям вкладки lineage.

Конфликты расширений​

Иногда расширение может конфликтовать с другими расширениями VS Code, предоставляющими похожие возможности (например, проверку кода). При работе с расширением dbt может потребоваться отключить эти сторонние расширения.

YAML от Red Hat:

Расширение YAML от Red Hat может ошибочно помечать некоторые ключи (например, static_analysis) в YAML-файлах dbt как недопустимые в IDE.

Статический анализ ошибочно помечен как недопустимыйСтатический анализ ошибочно помечен как недопустимый

Чтобы решить эту проблему, выполните одно из следующих действий:

  • (Рекомендуется) Отключите расширение YAML от Red Hat на время работы с расширением dbt.
  • Добавьте следующую конфигурацию в файл settings.json VS Code:
    "yaml.schemas": {
    "Core/dbtschema.json": "data/dbt/models/**/schema.yml",
    "": "data/dbt/dbt_project.yml"
    },
    Это может полностью отключить использование хранилища схем, что приведёт к непредвиденным последствиям.

dbt Wizard​

Расширение dbt для VS Code и dbt Wizard предназначены для совместной работы. Расширение обеспечивает быстрый разбор кода, обнаружение ошибок непосредственно в редакторе и IntelliSense. dbt Wizard добавляет поверх этих возможностей ИИ-слой — он работает с актуальными сведениями о вашем проекте через dbt Information Schema, структурированное представление происхождения и зависимостей данных, состояния моделей, покрытия тестами и семантических определений.

  • Создание и рефакторинг по запросам на естественном языке: Опишите, что вам нужно, просмотрите различия, одобрите изменения или скорректируйте направление работы, прежде чем что-либо будет сохранено.
  • Проверка изменений до их применения: Агент компилирует и выполняет код в вашем хранилище данных в коротком итеративном цикле, а не ограничивается линтингом в редакторе.
  • Работа с полной картой проекта: Исследуйте DAG, оценивайте влияние на зависимые объекты и поддерживайте тесты и YAML в актуальном состоянии при изменении моделей.

Для специалистов по данным сочетание возможностей редактора на базе dbt LSP с агентом dbt Wizard, учитывающим контекст проекта, означает меньше ручной работы с YAML, меньше переключений контекста и более быстрые итерации при решении сложных задач моделирования данных. Чтобы начать работу, ознакомьтесь с кратким руководством по dbt Wizard.

Клиенты dbt platform могут обратиться в службу поддержки dbt Labs по адресу support@getdbt.com. Также вы можете связаться с нами напрямую через вашего Account Manager.

Для организаций, которые не являются клиентами dbt platform, лучшим местом для вопросов и обсуждений является dbt Community Slack.

Для организаций, которые не являются клиентами платформы dbt, лучшее место для вопросов и обсуждений — Slack сообщества dbt.

Мы постоянно работаем над улучшением расширения, поэтому будем рады вашим отзывам и предложениям!

Расширение доступно всем пользователям. Дополнительную информацию см. в Лицензионном соглашении на продукты dbt.

Разрабатываете локально и пользуетесь dbt platform?

В руководстве Гибридная разработка с dbt platform и dbt v2 описано, как синхронизировать учётные данные, переменные окружения и версии dbt v2 между локальным расширением и dbt platform.

Дополнительная информация о dbt v2​

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

0
Loading