Hosted VS Code, dbt-core, SqlFluff, and Airflow, find out more at Datacoves.com.
vscode-sqlfluff
A linter and auto-formatter for SQLFluff, a popular linting tool for SQL and dbt.
You can run Format Document to fix the linting violations. You cannot run Format Selection. Please note that not all linting violations are automatically fixable.
Configuration
The extension expects sqlfluff to be installed and already added to the path. If it is installed but cannot be found, add the path to your preferences as seen below. Find the path by typing which sqlfluff into your terminal.
Edit your VS Code settings.json file manually or through the user interface.
If you want to manually update the settings.json file, open the VS Code command palette and type in settings.json. Select Preferences: Open Settings. Then, you can add any of the following configuration options to settings.json.
By default you will be able use SQLFluff fix your file by formatting. Same as calling sqlfluff fix --force <path>
Show Documentation
Hovering over a problem with reveal a popup explaining the problem and giving a link to the documentation.
For SQLFluff versions after v2.0.0 this link will take you to the rule documentation.
For SQLFLuff versions before v2.0.0 this link will take you to the top of the documentation page.
VSCode Variables
The executablePath and config settings can use some VSCode variables.
This is achieved by using the format ${variableName} in the settings.
Here are a few useful ones.
fileWorkspaceFolder: the path of the workspace folder containing the file opened in VS Code
workspaceFolder: the path of the first workspace folder opened in VS Code
workspaceFolderBasename: the last portion of the path of the folder opened in VS Code
fileDirname: the current opened file's dirname
And here are a few that are probably useless.
file: the current opened file
relativeFile: the current opened file relative to workspaceFolder
fileBasename: the last portion of the path to the file
fileBasenameNoExtension: the last portion of the path to the file with no extension
fileExtname: the current opened file's extension
lineNumber: the current selected line number in the active file
selectedText: the current selected text in the active file
execPath: the path to the running VS Code executable
Running into Problems?
Open the command palette and run the SQLFluff Debug Extension command
Check the output channel to see the SQLFluff commands this extension is running