התוסף Looker ל-VS Code משתמש במודל פיתוח שמתבסס על נתונים מקומיים. המודל הזה שומר על קשר תלת-צדדי בין מערכת הקבצים המקומית, מצב הפיתוח של מופע Looker ומאגר Git מרוחק.
במדריך הזה מוסבר איך התוסף מסנכרן קבצים ואיך פעולות Git מקומיות משפיעות על פרויקט Looker.
מנגנון הסנכרון
התוסף מנהל אוטומטית את הסנכרון של תוכן הקובץ בין סביבת הפיתוח המשולבת המקומית לבין שרת Looker.
פתיחת קבצים (קריאה בפתיחה)
כשפותחים קובץ .lkml בסביבת הפיתוח המשולבת המקומית, התוסף מאחזר באופן אוטומטי את הגרסה הנוכחית של הקובץ הזה מהענף שהוצאתם במצב פיתוח במופע Looker. כך תמיד תעבדו על הגרסה העדכנית ביותר של הקוד.
שמירת קבצים (כתיבה בשמירה)
כששומרים קובץ באופן מקומי (Command-S ב-Mac או Ctrl+S ב-Windows/Linux), התוסף מעביר באופן מיידי את השינויים המקומיים לשרת Looker. השינויים האלה מוצגים ב-IDE של Looker שמבוסס על דפדפן כשנמצאים במצב פיתוח.
טיפול בהתנגשויות בסנכרון
אם קובץ נערך בסביבת הפיתוח המשולבת (IDE) של Looker שמבוססת על דפדפן, בזמן שהוא פתוח גם ב-VS Code, יכול להיווצר קונפליקט.
כברירת מחדל, התוסף יחליף את הגרסה בשרת Looker בגרסת VS Code המקומית שלכם.
עם זאת, אם הפעלתם את ההגדרה looker.askBeforeOverwritingRemote, תוצג אזהרה ב-VS Code כשאתם מנסים לשמור קובץ ששונה בשרת. אפשר לבצע אחת מהפעולות הבאות:
- הצגת ההבדלים: פתיחת כלי להשוואת הבדלים כדי להשוות בין השינויים בגרסה המרוחקת של הקובץ לבין השינויים בגרסה המקומית. האפשרות הזו מאפשרת לכם לראות את השינויים ולמזג אותם שורה אחר שורה כדי לפתור את הקונפליקט ולסנכרן את השינויים המקומיים הממוזגים בחזרה לשרת Looker.
- החלפה של הגרסה בשרת: החלפת הגרסה בשרת Looker בגרסה המקומית של VS Code.
- החלפה של קובץ מקומי: החלפת הקובץ המקומי בגרסה משרת Looker.
ההגדרה looker.askBeforeOverwritingRemote מושבתת כברירת מחדל.
פעולות מקומיות ב-Git
התוסף מסנכרן את תוכן הקובץ, אבל צריך לנהל את ה-repository ב-Git באמצעות פקודות Git רגילות במסוף המקומי או בכרטיסייה Source Control (בקרת מקור) ב-IDE המקומי.
ניהול הסתעפויות
כשאתם עוברים בין הסתעפויות באופן מקומי באמצעות git checkout, התוסף מזהה את השינוי ומעביר באופן אוטומטי את הסשן שלכם בשרת Looker להסתעפות התואמת.
לפני ש-Looker מסנכרן את השינויים בקובץ, התוסף Looker ל-VS Code מוודא שהענף המקומי של Git תואם לענף של מצב הפיתוח ב-Looker. אם הענפים שונים, הסנכרון מושהה באופן אוטומטי כדי למנוע החלפות של קבצים בענפים שונים. אם יש אי התאמה, מוצגת הנחיה אינטראקטיבית שמאפשרת לעבור לסביבת העבודה המרוחקת של Looker או לבדוק את הענף באופן מקומי. בנוסף, המערכת מבטלת אוטומטית את תוקף הגיבובים של הקבצים שנשמרו במטמון כדי להמשיך את הסנכרון בצורה בטוחה.
מצב Git ב-Looker
כששומרים שינויים בקובץ, הם מסונכרנים עם מופע Looker ומופיעים כשינויים שלא בוצעו ב-Looker IDE מבוסס-הדפדפן. אם תבצעו את השינויים האלה באמצעות Git בסביבה המקומית, הם ימשיכו להופיע כשינויים שלא בוצעו ב-IDE של Looker עד שתדחפו אותם למאגר המרוחק.
כשמשתמשים ב-git push, מופע Looker שולף את השינויים המחויבים ממאגר מרוחק. אחרי שהמופע של Looker ימשוך נתונים ממקור מרוחק, השינויים שביצעתם ושמרתם כבר לא יופיעו כשינויים שלא נשמרו ב-Looker IDE. רק קבצים שנשמרו באופן מקומי אבל עדיין לא בוצעו לגביהם פעולות commit ו-push יופיעו כקבצים שלא בוצעו לגביהם פעולות commit.
אימות LookML
התוסף מפעיל אוטומטית את כלי האימות של Looker LookML בכל פעם ששומרים שינוי. כל השגיאות בתחביר ובמודל שמוחזרות על ידי כלי האימות יופיעו בשורה בתוך הקבצים בסביבת הפיתוח המשולבת המקומית. אם רוצים, אפשר גם להריץ את מאמת LookML באופן ידני בלי לשמור קבצים באמצעות הפקודה Looker: Validate LookML בלוח הפקודות.