使用 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 會顯示警告訊息。您可以選擇採取下列其中一項行動:

  • 查看差異:開啟差異編輯器,比較檔案的遠端和本機版本之間的變更。這個選項可讓您逐行查看及合併變更,解決衝突並將合併後的本機變更同步回 Looker 伺服器。
  • 覆寫遠端:以本機 VS Code 版本覆寫 Looker 伺服器上的版本。
  • 覆寫本機:以 Looker 伺服器上的版本覆寫本機檔案。

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

本機 Git 作業

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

管理分支版本

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

在 Looker 同步處理檔案變更前,VS Code 的 Looker 擴充功能會先確認本機 Git 分支版本是否與 Looker 開發模式分支版本相符,如果不符,系統會自動暫停同步處理,避免跨分支版本覆寫。如果發生不符情況,系統會顯示互動式提示,讓您切換遠端 Looker 工作區或在本機簽出分支,並在對齊後自動使快取檔案雜湊失效,以安全地繼續同步。

Looker 中的 Git 狀態

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

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

驗證 LookML

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

後續步驟