VS Code extension for Dataform with following features
Feature | Description |
---|---|
Compiled Query & Dry run stats | Compiled query in a vertical split |
Dependancy graph | Interative dependancy graph with external sources higlighted in distinct colors |
Inline diagnostics on .sqlx file ❗ |
Native lsp like experience with diagnostics being directly put on both the sqlx file & compiled query |
Preview query results | Preview query results in a table by running the file |
Go to definition | Go to definition for source in $ref{("MY_SOURCE")} . Takes you to MY_SOURCE.sqlx or sources.js at the line where MY_SOURCE is defined |
Auto-completion | - declarations in ${ref("..")} trigger when $ character is typed - Dependencies when " or ' is typed inside the config block which has dependencies keyword is in the line prefix - tags when " or ' is typed inside the config block which has tags keyword is in the line prefix |
Code actions | Apply dry run suggestions at the speed of thought |
Run file(s)/tag(s) | Run file(s)/tag(s), optionally with dependencies/dependents/full refresh using vscode command pallet / menu icons |
Format using Sqlfluff 🪄 | Fromat .sqlx files using sqlfluff |
-
npm i -g @dataform/cli
Run
dataform compile
from the root of your Dataform project to ensure that you are able to use the cli -
To enable formatting using sqlfluff install sqlfluff
# install python and run pip install sqlfluff
-
To enable prettier diagnostics install Error Lens extension [ optional ]
Note
Trouble installing ? Please see FAQ section, if you are still stuck, please raise an issue here
Auto completion support for dependencies
when "
or '
is typed inside the config block which has dependencies
keyword is in the line prefix
Declarations in ${ref("..")}
trigger when $ character is typed
Auto completion support for tags
when "
or '
is typed inside the config block which has tags
keyword is in the line prefix
Go to definition for source in $ref{("MY_SOURCE")}
. Takes you to MY_SOURCE.sqlx
or sources.js
at the line where MY_SOURCE
is defined
Open vscode command pallet by pressing CTLR + SHIFT + p or CMD + SHIFT + p on mac and run one of the required commands
Commands |
---|
Dataform: Run current file |
Dataform: Run current file with dependencies |
Dataform: Run current file with dependents |
Dataform: Run current tag |
Dataform: Run current tag with dependencies |
Dataform: Run current tag with dependents |
Dataform: Format current file |
Dataform: Run file(s) / tag(s) with options |
- Features such as go to definition / dependancy graph might not work with consistantly with
${ref("dataset", "table")}
or when it is multiline or a different format works best with${ref('table_name')}
format
- Bundle javascript files in the extension using esbuild or webpack
- Handle case where user is not connected to internet or on vpn where network request for dry run cannot be made