重要
この機能はパブリック プレビュー段階にあります。
この記事では、Azure Databricks UI で SQL の自動書式設定オプションをカスタマイズする方法について説明します。
概要
SQL の書式設定により、クエリの読みやすさと保守性が向上します。 インデント、キーワードの大文字と小文字、およびその他のスタイル設定を標準化することで、適切な形式のクエリをチームで理解、デバッグ、共有しやすくなります。
Azure Databricks では、ワークスペースのホーム ディレクトリに保存された .dbsql-formatter-config.json
ファイルを使用して、書式設定オプションを構成できます。 ファイルを保存すると、エディターまたは SQL ノートブックでコードを実行または書式設定するときに、ユーザー設定に基づいて SQL コードが自動的に書式設定されます。
SQL の書式設定を構成する方法
個人用 SQL 書式設定オプションを構成するには:
- サイドバーで、
[ワークスペース] をクリックします。
- [ ファイル > 作成] をクリックします。
- そのファイルに
.dbsql-formatter-config.json
という名前を付けます。 - 必要な設定を JSON 形式のキーと値のペアとして追加します。 フォーマッタのオプションを参照してください
- 最新の書式設定を適用するには、ページを更新します。
構成ファイルの例
有効な .dbsql-formatter-config.json
構成の例を次に示します。
{
"printWidth": 80,
"indentationStyle": "spaces",
"indentationWidth": 4,
"keywordCasing": "uppercase",
"shouldExpandExpressions": true
}
フォーマッタ オプション
次の表に、サポートされている構成オプションを示します。
選択肢 | 構成ファイル名 | 使用できる値 | 既定値 | 説明 |
---|---|---|---|---|
印刷の幅 | printWidth |
任意の整数 >= 0 | 100 |
書式設定されたコードのターゲット行の幅を設定します。 |
インデント スタイル | indentationStyle |
'spaces' 、'tabs' |
'spaces' |
インデントにスペースまたはタブのどちらを使用するかを指定します。 設定した場合、 indentationWidth は無視されます。 |
インデントの幅 | indentationWidth |
0 ~ 99 の整数 | 2 |
indentationStyle が 'spaces' に設定されている場合に使用されるスペースの数。 |
キーワードの大文字と小文字の区別 | keywordCasing |
'uppercase' 、 'lowercase' 、 'none' |
'none' |
SQL キーワードの書式設定を制御します。 'none' は大文字と小文字の区別を変更しません。 |
関数名の大文字と小文字の区別 | functionNameCasing |
'uppercase' 、 'lowercase' 、 'none' |
'none' |
SQL 関数名の書式設定を制御します。 'none' は大文字と小文字の区別を変更しません。 |
コンマの配置 | commaPosition |
'beginning' 、'end' |
'end' |
リストにコンマを配置する場所を制御します。 |
ステートメント間の改行 | numNewLinesBetweenStatements |
0 ~ 99 の整数 | 1 |
ステートメント間に挿入された新しい行の数。 |
句間の改行 | numNewLinesBetweenClauses |
0 ~ 99 の整数 | 0 |
ステートメント内の句間に挿入された改行の数。 |
ブール式を展開する | shouldExpandExpressions |
true 、false |
true |
ブール式を別々の行に展開します。 |
CASE ステートメントを展開する | shouldExpandCaseStatements |
true 、false |
true |
CASE ステートメントの各句を独自の行に展開します。 |
IN リストを展開する | shouldExpandInStatements |
true 、false |
false |
IN リスト内の項目を個別の行に展開します。 |
BETWEEN 条件を展開する | shouldExpandBetweenConditions |
true 、false |
false |
BETWEEN 条件を別々の行に展開します。 |
JOIN条件を解除する | shouldBreakOnJoinSections |
true 、false |
true |
JOIN条件を別々の行に分割します。 |