Format sql files using the sql-formatter npm package
forked from 'lea21st.vscode-sql-formatter'
Install
- Open VS Code and press F1 or Ctrl + Shift + P to open command palette, select Install Extension and type - genone.hyshin-sqlformatter. Or launch VS Code Quick Open (Ctrl + P), paste the following command, and press enter.
 - ext install genone.hyshin-sqlformatter
 
Options
  "editor.formatOnSave": true,
  "sql-formatter.dialect": "postgresql",
  "sql-formatter.commaPosition": "before",
  "sql-formatter.indentStyle": "tabularRight",
  "sql-formatter.logicalOperatorNewline": "before",
  "sql-formatter.newlineBeforeSemicolon": true,
  "sql-formatter.tabulateAlias": true,
  "sql-formatter.uppercase": true,
  "sql-formatter.paramTypes": { "named": [":"] },
  "[sql]": {
    "editor.defaultFormatter": "genone.hyshin-sqlformatter"
  }
- "sql"- (default) [Standard SQL][]
- "bigquery"- [GCP BigQuery][]
- "db2"- [IBM DB2][]
- "hive"- [Apache Hive][]
- "mariadb"- [MariaDB][]
- "mysql"- [MySQL][]
- "n1ql"- [Couchbase N1QL][]
- "plsql"- [Oracle PL/SQL][]
- "postgresql"- [PostgreSQL][]
- "redshift"- [Amazon Redshift][]
- "singlestoredb"- [SingleStoreDB][]
- "snowflake"- [Snowflake][]
- "spark"- [Spark][]
- "sqlite"- [SQLite][sqlite]
- "transactsql"or- "tsql"- [SQL Server Transact-SQL][tsql]
- "trino"- [Trino][] (should also work for [Presto][], which is very similar dialect, though technically different)
Configuration
sql-formatter.dialect: Defaults to "sql" (see the above list of supported dialects)
sql-formatter.uppercase: Defaults to false (not safe to use when SQL dialect has case-sensitive identifiers)
sql-formatter.indentStyle: Defaults to standard, Switches between different indentation styles.(standard / tabularLeft / tabularRight)
sql-formatter.commaPosition: Defaults to before, Defines where to place commas in lists of columns.(before / after / tabular)
sql-formatter.logicalOperatorNewline: Defaults to before, Decides newline placement before or after logical operators (AND, OR, XOR).(before / after)
sql-formatter.tabulateAlias: Defaults to false, Aligns column aliases into a single column. Does not effect table name aliases.
sql-formatter.linesBetweenQueries: Number of linebreaks between queries. Defaults to 2.
sql-formatter.newlineBeforeSemicolon: Defaults to true, Whether to place query separator (;) on a separate line.
sql-formatter.paramTypes: Defaults to null, Specifies parameter types to support when parsing SQL prepared statements.