Mengelola file LookML dan Git dengan ekstensi Looker untuk VS Code

The Ekstensi Looker untuk VS Code menggunakan model pengembangan lokal-first. Model ini mempertahankan hubungan tiga arah antara sistem file lokal Anda, Mode Pengembangan instance Looker Anda, dan repositori Git jarak jauh Anda.

Panduan ini menjelaskan cara ekstensi menyinkronkan file dan pengaruh operasi Git lokal terhadap project Looker Anda.

Mekanisme sinkronisasi

Ekstensi ini otomatis mengelola sinkronisasi konten file antara IDE lokal dan server Looker.

Membuka file (baca saat dibuka)

Saat Anda membuka file .lkml di IDE lokal, ekstensi akan otomatis mengambil versi terbaru file tersebut dari cabang yang Anda checkout di Mode Pengembangan instance Looker Anda. Hal ini memastikan Anda selalu menggunakan versi kode terbaru.

Menyimpan file (tulis saat disimpan)

Saat Anda menyimpan file secara lokal (Command-S di Mac atau Ctrl+S di Windows/Linux), ekstensi akan langsung mengirimkan perubahan lokal Anda ke server Looker. Perubahan ini kemudian akan terlihat di Looker IDE berbasis browser saat Anda berada dalam Mode Pengembangan.

Menangani konflik sinkronisasi

Konflik dapat terjadi jika file diedit di Looker IDE berbasis browser saat file tersebut juga dibuka di VS Code.

Secara default, ekstensi akan menimpa versi di server Looker dengan versi VS Code lokal Anda.

Namun, jika Anda telah mengaktifkan setelan looker.askBeforeOverwritingRemote, VS Code akan menampilkan peringatan saat Anda mencoba menyimpan file yang telah diubah di server. Anda dapat memilih untuk melakukan salah satu tindakan berikut:

  • View Diff: Buka editor diff untuk membandingkan perubahan antara versi file jarak jauh dan lokal. Opsi ini memungkinkan Anda melihat dan menggabungkan perubahan baris demi baris secara selektif untuk menyelesaikan konflik dan menyinkronkan kembali perubahan lokal yang digabungkan ke server Looker.
  • Timpa Remote: Timpa versi di server Looker dengan versi VS Code lokal Anda.
  • Timpa Lokal: Timpa file lokal Anda dengan versi dari server Looker.

Setelan looker.askBeforeOverwritingRemote dinonaktifkan secara default.

Operasi Git lokal

Ekstensi ini menyinkronkan konten file, tetapi Anda harus mengelola repositori Git menggunakan perintah Git standar di terminal lokal atau tab Kontrol Sumber IDE lokal.

Mengelola cabang

Saat Anda beralih cabang secara lokal menggunakan git checkout, ekstensi akan mendeteksi perubahan dan otomatis mengalihkan sesi Anda di server Looker ke cabang yang cocok.

Sebelum Looker menyinkronkan perubahan file Anda, ekstensi Looker untuk VS Code akan memverifikasi bahwa cabang Git lokal Anda cocok dengan cabang Mode Pengembangan Looker Anda, dan otomatis menjeda sinkronisasi jika cabang berbeda, sehingga mencegah penimpaan lintas cabang. Jika terjadi ketidakcocokan, perintah interaktif akan memungkinkan Anda mengalihkan ruang kerja Looker jarak jauh atau melakukan checkout cabang secara lokal, yang akan otomatis membatalkan hash file yang di-cache setelah penyelarasan untuk melanjutkan sinkronisasi dengan aman.

Status Git di Looker

Saat Anda menyimpan perubahan file, perubahan tersebut akan disinkronkan ke instance Looker Anda dan muncul sebagai belum di-commit di Looker IDE berbasis browser. Jika Anda melakukan commit perubahan ini menggunakan Git di lingkungan lokal, perubahan tersebut akan terus muncul sebagai belum di-commit di Looker IDE hingga Anda mengirimkannya ke repositori jarak jauh.

Saat Anda menggunakan git push, instance Looker Anda akan menarik perubahan yang di-commit dari repositori jarak jauh Anda. Setelah instance Looker Anda menarik dari jarak jauh, perubahan yang telah Anda commit dan kirim tidak akan lagi muncul sebagai belum di-commit di Looker IDE. Hanya file yang disimpan secara lokal, tetapi belum di-commit dan dikirim, yang akan muncul sebagai belum di-commit.

Memvalidasi LookML

Ekstensi ini otomatis menjalankan Validator LookML Looker setiap kali Anda menyimpan perubahan. Error sintaksis dan model apa pun yang ditampilkan oleh Validator akan muncul secara inline dalam file Anda di dalam IDE lokal Anda. Jika mau, Anda juga dapat menjalankan Validator LookML secara manual tanpa menyimpan file menggunakan perintah Palet Perintah Looker: Validate LookML.

Langkah berikutnya