使用 VS Code 的 Looker 擴充功能管理 LookML 檔案和 Git

VS Code 適用的 Looker 擴充功能採用「本機優先」的開發模型。這個模型會維護本機檔案系統、Looker 執行個體的開發模式和遠端 Git 存放區之間的三向關係。

本指南說明擴充功能如何同步處理檔案,以及本機 Git 作業對 Looker 專案的影響。

同步機制

擴充功能會自動管理本機 IDE 和 Looker 伺服器之間的檔案內容同步作業。

開啟檔案 (開啟時讀取)

在本地 IDE 中開啟 .lkml 檔案時,擴充功能會自動從 Looker 執行個體開發模式中已簽出的分支版本,擷取該檔案的目前版本。確保您一律使用最新版本的程式碼。

儲存檔案 (儲存時寫入)

在本機儲存檔案時 (Mac 上為 Command-S,Windows/Linux 上為 Ctrl+S),擴充功能會立即將本機變更推送至 Looker 伺服器。在開發模式下,您可以在瀏覽器 Looker IDE 中看到這些變更。

處理同步衝突

如果檔案在瀏覽器式 Looker IDE 中編輯時,同時也在 VS Code 中開啟,可能會發生衝突。

根據預設,擴充功能會使用本機 VS Code 版本覆寫 Looker 伺服器上的版本。

不過,如果您已啟用 looker.askBeforeOverwritingRemote 設定,嘗試儲存伺服器上已修改的檔案時,VS Code 會顯示警告訊息。您可以選擇採取下列其中一項行動:

  • 保留本機版本:以本機 VS Code 版本覆寫 Looker 伺服器上的版本。
  • 從遠端提取:以 Looker 伺服器上的版本覆寫本機檔案。

looker.askBeforeOverwritingRemote」設定預設為停用。

本機 Git 作業

擴充功能會同步處理檔案內容,但您應使用本機終端機中的標準 Git 指令,或本機 IDE 的「Source Control」分頁,管理 Git 存放區。

管理分支版本

使用 git checkout 在本機切換分支時,擴充功能會偵測到變更,並自動將 Looker 伺服器上的工作階段切換至相符的分支。

Looker 中的 Git 狀態

儲存檔案變更時,系統會將變更同步至 Looker 執行個體,並在瀏覽器型 Looker IDE 中顯示為未提交。如果您在本機環境中使用 Git 提交這些變更,變更會繼續在 Looker IDE 中顯示為未提交,直到您將變更推送至遠端存放區為止。

使用 git push 時,Looker 執行個體會從遠端存放區提取已提交的變更。Looker 執行個體從遠端提取後,您已提交及推送的變更就不會再顯示為未提交的變更。只有儲存在本機但尚未提交及推送的檔案,才會顯示為未提交。

驗證 LookML

每次儲存變更時,擴充功能都會自動執行 Looker LookML 驗證工具。驗證工具傳回的任何語法和模型錯誤,都會顯示在本地 IDE 檔案中。您也可以使用「Looker: Validate LookML」指令面板指令,手動執行 LookML 驗證器,不必儲存檔案。

後續步驟