About the dbt Cloud IDE
The dbt Cloud integrated development environment (IDE) is a single web-based interface for building, testing, running, and version-controlling dbt projects. It compiles dbt code into SQL and executes it directly on your database.
The dbt Cloud IDE offers several keyboard shortcuts and editing features for faster and more efficient data platform development and governance:
- Syntax highlighting for SQL: Makes it easy to distinguish different parts of your code, reducing syntax errors and enhancing readability.
- Auto-completion: Suggests table names, arguments, and column names as you type, saving time and reducing typos.
- Code formatting and linting: Help standardize and fix your SQL code effortlessly.
- Navigation tools: Easily move around your code, jump to specific lines, find and replace text, and navigate between project files.
- Version control: Manage code versions with a few clicks.
These features create a powerful editing environment for efficient SQL coding, suitable for both experienced and beginner developers.
To improve your experience using dbt Cloud, we suggest that you turn off ad blockers. This is because some project file names, such as google_adwords.sql
, might resemble ad traffic and trigger ad blockers.
Prerequisites
- A dbt Cloud account and Developer seat license
- A git repository set up and git provider must have
write
access enabled. See Connecting your GitHub Account or Importing a project by git URL for detailed setup instructions - A dbt project connected to a data platform
- A development environment and development credentials set up
- The environment must be on dbt version 1.0 or higher
dbt Cloud IDE features
The dbt Cloud IDE comes with features that make it easier for you to develop, build, compile, run, and test data models.
To understand how to navigate the IDE and its user interface elements, refer to the IDE user interface page.
Feature | Info |
---|---|
Keyboard shortcuts | You can access a variety of commands and actions in the IDE by choosing the appropriate keyboard shortcut. Use the shortcuts for common tasks like building modified models or resuming builds from the last failure. |
File state indicators | Ability to see when changes or actions have been made to the file. The indicators M, D, A, and • appear to the right of your file or folder name and indicate the actions performed: - Unsaved (•) — The IDE detects unsaved changes to your file/folder - Modification (M) — The IDE detects a modification of existing files/folders - Added (A) — The IDE detects added files - Deleted (D) — The IDE detects deleted files. |
IDE version control | The IDE version control section and git button allow you to apply the concept of version control to your project directly into the IDE. - Create or change branches - Commit or revert individual files by right-clicking the edited file - Resolve merge conflicts - Execute git commands using the git button - Link to the repo directly by clicking the branch name - Edit, format, or lint files and execute dbt commands in your primary protected branch, and commit to a new branch. |
Project documentation | Generate and view your project documentation for your dbt project in real-time. You can inspect and verify what your project's documentation will look like before you deploy your changes to production. |
Preview and Compile button | You can compile or preview code, a snippet of dbt code, or one of your dbt models after editing and saving. |
Build, test, and run button | Build, test, and run your project with a button click or by using the Cloud IDE command bar. |
Command bar | You can enter and run commands from the command bar at the bottom of the IDE. Use the rich model selection syntax to execute dbt commands directly within dbt Cloud. You can also view the history, status, and logs of previous runs by clicking History on the left of the bar. |
Drag and drop | Drag and drop files located in the file explorer, and use the file breadcrumb on the top of the IDE for quick, linear navigation. Access adjacent files in the same file by right-clicking on the breadcrumb file. |
Organize tabs and files | - Move your tabs around to reorganize your work in the IDE - Right-click on a tab to view and select a list of actions, including duplicate files - Close multiple, unsaved tabs to batch save your work - Double click files to rename files |
Find and replace | - Press Command-F or Control-F to open the find-and-replace bar in the upper right corner of the current file in the IDE. The IDE highlights your search results in the current file and code outline - You can use the up and down arrows to see the match highlighted in the current file when there are multiple matches - Use the left arrow to replace the text with something else |
Multiple selections | You can make multiple selections for small and simultaneous edits. The below commands are a common way to add more cursors and allow you to insert cursors below or above with ease. - Option-Command-Down arrow or Ctrl-Alt-Down arrow - Option-Command-Up arrow or Ctrl-Alt-Up arrow - Press Option and click on an area or Press Ctrl-Alt and click on an area |
Lint and Format | Lint and format your files with a click of a button, powered by SQLFluff, sqlfmt, Prettier, and Black. |
Git diff view | Ability to see what has been changed in a file before you make a pull request. |
dbt autocomplete | New autocomplete features to help you develop faster: - Use ref to autocomplete your model names- Use source to autocomplete your source name + table name- Use macro to autocomplete your arguments- Use env var to autocomplete env var- Start typing a hyphen (-) to use in-line autocomplete in a YAML file |
DAG in the IDE | You can see how models are used as building blocks from left to right to transform your data from raw sources into cleaned-up modular derived pieces and final outputs on the far right of the DAG. The default view is 2+model+2 (defaults to display 2 nodes away), however, you can change it to +model+ (full DAG). Note the --exclude flag isn't supported. |
Status bar | This area provides you with useful information about your IDE and project status. You also have additional options like enabling light or dark mode, restarting the IDE, or recloning your repo. |
Dark mode | From the status bar in the Cloud IDE, enable dark mode for a great viewing experience in low-light environments. |
Start-up process
There are three start-up states when using or launching the Cloud IDE:
- Creation start — This is the state where you are starting the IDE for the first time. You can also view this as a cold start (see below), and you can expect this state to take longer because the git repository is being cloned.
- Cold start — This is the process of starting a new develop session, which will be available for you for three hours. The environment automatically turns off three hours after the last activity. This includes compile, preview, or any dbt invocation, however, it does not include editing and saving a file.
- Hot start — This is the state of resuming an existing or active develop session within three hours of the last activity.
Work retention
The Cloud IDE needs explicit action to save your changes. There are three ways your work is stored:
Unsaved, local code — The browser stores your code only in its local storage. In this state, you might need to commit any unsaved changes in order to switch branches or browsers. If you have saved and committed changes, you can access the "Change branch" option even if there are unsaved changes. But if you attempt to switch branches without saving changes, a warning message will appear, notifying you that you will lose any unsaved changes.
Saved but uncommitted code — When you save a file, the data gets stored in durable, long-term storage, but isn't synced back to git. To switch branches using the Change branch option, you must "Commit and sync" or "Revert" changes. Changing branches isn't available for saved-but-uncommitted code. This is to ensure your uncommitted changes don't get lost.
Committed code — This is stored in the branch with your git provider and you can check out other (remote) branches.
Access the Cloud IDE
To improve your experience using dbt Cloud, we suggest that you turn off ad blockers. This is because some project file names, such as google_adwords.sql
, might resemble ad traffic and trigger ad blockers.
In order to start experiencing the great features of the Cloud IDE, you need to first set up a dbt Cloud development environment. In the following steps, we outline how to set up developer credentials and access the IDE. If you're creating a new project, you will automatically configure this during the project setup.
The IDE uses developer credentials to connect to your data platform. These developer credentials should be specific to your user and they should not be super user credentials or the same credentials that you use for your production deployment of dbt.
Set up your developer credentials:
- Navigate to your Credentials under Your Profile settings, which you can access at
https://YOUR_ACCESS_URL/settings/profile#credentials
, replacingYOUR_ACCESS_URL
with the appropriate Access URL for your region and plan. - Select the relevant project in the list.
- Click Edit on the bottom right of the page.
- Enter the details under Development Credentials.
- Click Save.
- Access the Cloud IDE by clicking Develop at the top of the page.
- Initialize your project and familiarize yourself with the IDE and its delightful features.
Nice job, you're ready to start developing and building models 🎉!
Build, compile, and run projects
You can build, compile, run, and test dbt projects using the command bar or Build button. Use the Build button to quickly build, run, or test the model you're working on. The Cloud IDE will update in real-time when you run models, tests, seeds, and operations.
If a model or test fails, dbt Cloud makes it easy for you to view and download the run logs for your dbt invocations to fix the issue.
Use dbt's rich model selection syntax to run dbt commands directly within dbt Cloud.
Build and view your project's docs
The dbt Cloud IDE makes it possible to build and view documentation for your dbt project while your code is still in development. With this workflow, you can inspect and verify what your project's generated documentation will look like before your changes are released to production.