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

VS Code 用の Looker 拡張機能 は、ローカル優先の開発モデルを使用します。このモデルは、ローカル ファイル システム、Looker インスタンスの開発モード、リモート Git リポジトリの 3 者間の関係を維持します。

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

同期メカニズム

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

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

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

ファイルを保存する(write-on-save)

ファイルをローカルに保存すると(Mac の場合は Command-S 、Windows/Linux の場合は Ctrl+S )、拡張機能はローカルの変更を Looker サーバーに即座に push します。これらの変更は、開発モードの場合にブラウザベースの Looker IDE に表示されます。

同期の競合を処理する

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

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

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

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

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

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

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

ブランチを管理する

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

Looker の Git の状態

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

git push を使用すると、Looker インスタンスは commit された変更をリモート リポジトリから pull します。Looker インスタンスがリモートから pull した後、commit して push した変更は、Looker IDE に未 commit の状態で表示されなくなります。ローカルに保存されているが、まだ commit して push されていないファイルのみが未 commit の状態で表示されます。

Validate LookML

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

次のステップ