VS Code 用 Looker 拡張機能を使用した LookML ファイルと Git の管理

Looker extension for VS Code は、ローカル ファーストの開発モデルを使用します。このモデルは、ローカル ファイル システム、Looker インスタンスの開発モード、リモート Git リポジトリの 3 つの関係を維持します。

このガイドでは、拡張機能がファイルを同期する方法と、ローカル Git オペレーションが Looker プロジェクトに与える影響について説明します。

同期メカニズム

この拡張機能は、ローカル IDE と Looker サーバー間のファイル コンテンツの同期を自動的に管理します。

ファイルを開く(read-on-open)

ローカル IDE で .lkml ファイルを開くと、拡張機能は Looker インスタンスの開発モードでチェックアウトされたブランチから、そのファイルの現在のバージョンを自動的に取得します。これにより、常に最新バージョンのコードで作業できます。

ファイルを保存する(保存時に書き込み)

ファイルをローカルに保存すると(Mac の場合は Command-S、Windows/Linux の場合は Ctrl+S)、拡張機能によってローカルの変更が Looker サーバーにすぐに push されます。これらの変更は、Development Mode でブラウザベースの Looker IDE に表示されます。

同期の競合を処理する

ブラウザベースの Looker IDE でファイルが編集されているときに、VS Code でもファイルが開いていると、競合が発生する可能性があります。

デフォルトでは、拡張機能は Looker サーバーのバージョンをローカルの VS Code バージョンで上書きします。

ただし、looker.askBeforeOverwritingRemote 設定を有効にしている場合、サーバーで変更されたファイルを保存しようとすると、VS Code に警告が表示されます。次のいずれかの対応をご検討ください。

  • Keep Local: Looker サーバーのバージョンをローカルの VS Code バージョンで上書きします。
  • Pull Remote: ローカル ファイルを Looker サーバーのバージョンで上書きします。

looker.askBeforeOverwritingRemote 設定はデフォルトで無効になっています。

ローカル Git オペレーション

この拡張機能はファイルの内容を同期しますが、Git リポジトリはローカル ターミナルまたはローカル IDE の [ソース管理] タブで標準の Git コマンドを使用して管理する必要があります。

ブランチを管理する

git checkout を使用してローカルでブランチを切り替えると、拡張機能が変更を検出し、Looker サーバーのセッションを一致するブランチに自動的に切り替えます。

Looker の Git の状態

ファイルへの変更を保存すると、その変更は Looker インスタンスに同期され、ブラウザベースの Looker IDE で commit されていない変更として表示されます。ローカル環境で Git を使用してこれらの変更を commit しても、リモート リポジトリに push するまで、Looker IDE では commit されていないものとして表示されます。

git push を使用すると、Looker インスタンスはコミットされた変更をリモート リポジトリから取得します。Looker インスタンスがリモートから pull すると、commit して push した変更は Looker IDE で commit されていないものとして表示されなくなります。ローカルに保存されているが、まだコミットとプッシュが行われていないファイルのみが、未コミットとして表示されます。

Validate LookML

拡張機能は、変更を保存するたびに Looker LookML バリデータを自動的に実行します。Validator によって返された構文エラーとモデルエラーは、ローカル IDE のファイル内にインラインで表示されます。必要に応じて、[Looker: Validate LookML] コマンド パレット コマンドを使用して、ファイルを保存せずに LookML バリデータを手動で実行することもできます。

次のステップ