Skip to content

sbtinstruments/vscode-sqlfluff

 
 

Repository files navigation

vscode-sqlfluff

.github/workflows/ci.yml

A linter and auto-formatter for SQLFluff, a popular linting tool for SQL and dbt.

linter in action

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.

Sponsors

Datacoves
The turnkey analytics stack, find out more at Datacoves.com.

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.

  "sqlfluff.config": "${workspaceFolder}/.sqlfluff",
  "sqlfluff.dialect": "mysql",
  "sqlfluff.excludeRules": ["L009"],
  "sqlfluff.executablePath": "sqlfluff",
  "sqlfluff.ignoreLocalConfig": false,
  "sqlfluff.ignoreParsing": false,
  "sqlfluff.rules": [],
  "sqlfluff.suppressNotifications": false,
  "sqlfluff.workingDirectory": "",
  /* Linter */
  "sqlfluff.linter.arguments": [],
  "sqlfluff.linter.run": "onType",
  "sqlfluff.linter.diagnosticSeverity": "error",
  "sqlfluff.linter.diagnosticSeverityByRule": [
    {
      "rule": "L010",
      "severity": "warning"
    }
  ],
  "sqlfluff.linter.lintEntireProject": true,
  /* Formatter */
  "sqlfluff.format.arguments": ["--FIX-EVEN-UNPARSABLE"],
  "sqlfluff.format.enabled": true,

DBT Configuration

DBT setup requires these settings to lint and format the document.

  "sqlfluff.linter.run": "onSave",
  "sqlfluff.experimental.format.executeInTerminal": true,
  "editor.formatOnSave": false,

Format file

By default you will be able use SQLFluff fix your file by formatting. Same as calling sqlfluff fix --force <path>

plugin configuration

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.

  • workspaceFolder: the path of the 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

Credits / Links

License

The MIT License (MIT). Please see the license file for more information.

Packages

No packages published

Languages

  • TypeScript 100.0%