ניפוי באגים בתוספים ל-Google Workspace

יכול להיות שאתם מפתחים תוספים ל-Google Workspace תצטרכו לנפות באגים בקוד כדי לבדוק שינויים או לפתור בעיות מורכבות. אפשר לבצע ניפוי באגים בתוספים ל-Google Workspace בדרכים שונות, בהתאם לארכיטקטורה של האפליקציה, לפעולות האפליקציה, לאופן הפריסה של האפליקציה ולהעדפות שלכם.

בדף הזה מוסבר איך לנפות באגים בתוסף Google Workspace באמצעות ngrok, פלטפורמה מאוחדת לתעבורת נתונים נכנסת (ingress) שאפשר להשתמש בה כדי לבדוק סביבות פיתוח מקומיות. במדריך הזה תלמדו איך לבדוק את השינויים בקוד בסביבה מקומית ולפתור בעיות בסביבה מרוחקת.

ניפוי באגים מסביבת פיתוח מקומית

בקטע הזה תוכלו לנהל אינטראקציה עם התוסף של Google Workspace שמופעל בסביבה המקומית.

ניפוי באגים מסביבת פיתוח מקומית

איור 1. ניפוי באגים בסביבת פיתוח מקומית.

דרישות מוקדמות

Node.js

Python

Java

הפיכת שירות האירוח המקומי לזמין באופן ציבורי

אתם צריכים לחבר את הסביבה המקומית שלכם לאינטרנט כדי שלתוסף של Google Workspace תהיה גישה אליה. האפליקציה ngrok משמשת להפניה אוטומטית של בקשות HTTP שנשלחות לכתובת URL ציבורית אל הסביבה המקומית שלכם.

  1. בדפדפן שבסביבה המקומית, נכנסים לחשבון ngrok.
  2. מתקינים את האפליקציה ומגדירים את authtoken בסביבה המקומית.
  3. יוצרים דומיין סטטי בחשבון ngrok. הוא מופיע כ-NGROK_STATIC_DOMAIN בהוראות שבמדריך זה.

יצירה והתקנה של פריסת התוסף

  1. מגדירים את התוסף של Google Workspace כך שישלח את כל בקשות ה-HTTP לדומיין הסטטי. קובץ הפריסה אמור להיראות כך:

    {
      "oauthScopes": [
        "https://www.googleapis.com/auth/workspace.linkpreview",
        "https://www.googleapis.com/auth/workspace.linkcreate"
      ],
      "addOns": {
        "common": {
          "name": "Manage support cases",
          "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png",
          "layoutProperties": {
            "primaryColor": "#dd4b39"
          }
        },
        "docs": {
          "linkPreviewTriggers": [
            {
              "runFunction": "NGROK_STATIC_DOMAIN",
              "patterns": [
                {
                  "hostPattern": "example.com",
                  "pathPrefix": "support/cases"
                },
                {
                  "hostPattern": "*.example.com",
                  "pathPrefix": "cases"
                },
                {
                  "hostPattern": "cases.example.com"
                }
              ],
              "labelText": "Support case",
              "localizedLabelText": {
                "es": "Caso de soporte"
              },
              "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png"
            }
          ],
          "createActionTriggers": [
            {
              "id": "createCase",
              "labelText": "Create support case",
              "localizedLabelText": {
                "es": "Crear caso de soporte"
              },
              "runFunction": "$URL2",
              "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png"
            }
          ]
        }
      }
    }
    

    מחליפים את NGROK_STATIC_DOMAIN בדומיין הסטטי בחשבון ngrok.

  2. מגדירים את הפרויקט ב-Google Cloud לשימוש:

    gcloud config set project PROJECT_ID
    
  3. מקבלים פרטי כניסה של משתמשים חדשים לשימוש ב-Application Default Credentials:

    gcloud auth application-default login
    

    מחליפים את PROJECT_ID במזהה הפרויקט של האפליקציה ב-Google Cloud.

  4. יוצרים את הפריסה:

    gcloud workspace-add-ons deployments create manageSupportCases \
        --deployment-file=DEPLOYMENT_FILE_PATH
    

    מחליפים את DEPLOYMENT_FILE_PATH בנתיב של קובץ הפריסה.

  5. מתקינים את הפריסה:

    gcloud workspace-add-ons deployments install manageSupportCases
    

התוסף של Google Workspace שולח את כל בקשות ה-HTTP שלו לדומיין הסטטי.

איור 2. התוסף של Google Workspace שולח את כל בקשות ה-HTTP שלו לדומיין הסטטי. השירות הציבורי ngrok משמש כגשר בין התוסף של Google Workspace לבין קוד האפליקציה שמופעל באופן מקומי.

בדיקת התוסף ל-Google Workspace

אפשר לפרוס באופן מקומי את התוסף של Google Workspace, לבדוק אותם, לנפות באגים ולטעון אותם מחדש באופן אוטומטי.

Node.js

  1. מה-IDE של Visual Studio Code שמותקן בסביבה המקומית:

    1. בחלון חדש, פותחים את התיקייה add-ons-samples/node/3p-resources.
    2. מגדירים את האפליקציה להרצה מקומית ולניפוי באגים מחדש באופן אוטומטי, על ידי הוספת תלות אחת ושני סקריפטים בקובץ package.json:

      {
          ...
          "dependencies": {
            ...
            "@google-cloud/functions_framework": "^3.3.0"
          },
          "scripts": {
              ...
              "start": "npx functions-framework --target=createLinkPreview --port=9000",
              "debug-watch": "nodemon --watch ./ --exec npm start"
          }
          ...
      }
      
    3. מספריית השורש, מתקינים את האפליקציה:

      npm install
      
    4. יוצרים ומגדירים הפעלה בשם Debug Watch שמפעילה את הסקריפט debug-watch על ידי יצירת הקובץ .vscode/launch.json בספריית השורש:

      {
          "version": "0.2.0",
          "configurations": [{
              "type": "node",
              "request": "launch",
              "name": "Debug Watch",
              "cwd": "${workspaceRoot}",
              "runtimeExecutable": "npm",
              "runtimeArgs": ["run-script", "debug-watch"]
          }]
      }
      
    5. מוסיפים נקודת עצירה (breakpoint) שמשהה את העיבוד של בקשת ה-HTTP בקובץ index.js, ומתחילים להריץ ולנפות באגים לפי ההגדרות הקודמות של Debug Watch. האפליקציה פועלת עכשיו ומאזינה לבקשות HTTP ביציאה 9000.

      האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה '9000'

      איור 3. האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה 9000.

  2. מפעילים את האפליקציה ngrok בסביבה המקומית:

    ngrok http --domain=NGROK_STATIC_DOMAIN 9000
    

    מחליפים את NGROK_STATIC_DOMAIN בדומיין הסטטי בחשבון ngrok. כל הבקשות מופנות לסביבה המקומית וליציאה שבה משתמשת האפליקציה.

    הטרמינל עם שרת 'ngrok' פועל ומפנה מחדש

    איור 4. הטרמינל עם השרת ngrok פועל ומפנה לכתובת אחרת.

  3. בנוסף, ממשק אינטרנט מופעל במארח המקומי באמצעות האפליקציה ngrok. תוכלו לעקוב אחר כל הפעילויות על ידי פתיחת הממשק בדפדפן.

    ממשק האינטרנט שמתארח באפליקציה 'ngrok' ולא מציג בקשות HTTP

    איור 5. ממשק האינטרנט שמתארח באפליקציה ngrok שלא מציג בקשות HTTP.

  4. כדי לבדוק את התוסף ל-Google Workspace, פותחים תצוגה מקדימה של כתובת ה-URL של בקשת התמיכה במסמך חדש ב-Google Docs באמצעות חשבון בודק:

    • יוצרים מסמך חדש ב-Google Docs.

      יצירה של מסמך חדש ב-Google Docs

    • מקלידים את הקישור הבא ומקישים על enter:

      https://example.com/support/case/?name=Name1&description=Description1&priority=P1
      
    • לוחצים על הקישור.

  5. בפונקציה Visual Studio Code בסביבה המקומית אפשר לראות שההפעלה מושהית בנקודת העצירה (breakpoint) שהוגדרה.

    הביצוע מושהה בנקודת העצירה שהוגדרה

    איור 6. ההפעלה מושהית בנקודת העצירה (breakpoint) שהוגדרה.

  6. כשממשיכים את ההפעלה מהכלי לניפוי באגים של Visual Studio Code, לפני שפג הזמן הקצוב לתוספים של Google Workspace, התצוגה המקדימה של הקישור תופיע ב-Google Docs מהמטמון.

  7. אפשר לבדוק את בקשת ה-HTTP ואת יומני התגובה מתוך ממשק האינטרנט שמתארח באפליקציה ngrok בסביבה המקומית.

    בקשת ה-HTTP מממשק האינטרנט שמתארח באפליקציה 'ngrok'

    איור 7. בקשת ה-HTTP מממשק האינטרנט שמתארח באפליקציה ngrok.

  8. כדי לשנות את התנהגות האפליקציה, מחליפים את Case ב-Case: בתוך השורה 51 של index.js. כששומרים את הקובץ, הקוד nodemon טוען מחדש באופן אוטומטי את האפליקציה עם קוד המקור המעודכן, ו-Visual Studio Code נשאר במצב ניפוי באגים.

    האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה '9000' כששינוי הקוד נטען

    איור 8. האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה 9000 כששינוי הקוד נטען.

  9. הפעם, במקום ללחוץ על הקישור ולהמתין כמה שניות במסמך חדש של Google Docs, אפשר לבחור את בקשת ה-HTTP האחרונה שנרשם בממשק האינטרנט שמתארח באפליקציה ngrok בסביבה המקומית, ואז ללחוץ על Replay. כמו בפעם הקודמת, התוסף של Google Workspace לא מגיב כי מתבצע בו ניפוי באגים באופן פעיל.

  10. כשממשיכים את ההפעלה מהכלי לניפוי באגים של Visual Studio Code, בממשק המקומי של האפליקציה ngrok אפשר לראות שהאפליקציה מייצרת תגובה עם הגרסה המעודכנת של כרטיס התצוגה המקדימה.

Python

  1. מה-IDE של Visual Studio Code שמותקן בסביבה המקומית:

    1. בחלון חדש, פותחים את התיקייה add-ons-samples/python/3p-resources/create_link_preview.
    2. יוצרים סביבה וירטואלית חדשה ל-Python env ומפעילים אותה:

      virtualenv env
      source env/bin/activate
      
    3. מתקינים את כל יחסי התלות של הפרויקטים באמצעות pip בסביבה הווירטואלית:

      pip install -r requirements.txt
      
    4. יוצרים את הקובץ .vscode/launch.json בספריית הבסיס ומגדירים השקה בשם Debug Watch שמפעילה את האפליקציה מהמודול functions-framework ביציאה 9000 במצב ניפוי באגים בסביבה הווירטואלית env:

      {
          "version": "0.2.0",
          "configurations": [{
              "type": "python",
              "request": "launch",
              "name": "Debug Watch",
              "python": "${workspaceFolder}/env/bin/python3",
              "module": "functions_framework",
              "args": [
                  "--target", "create_link_preview",
                  "--port", "9000",
                  "--debug"
              ]
          }]
      }
      
    5. מוסיפים נקודת עצירה (breakpoint) שמשהה את העיבוד של בקשת ה-HTTP בקובץ main.py, ומתחילים להריץ ולנפות באגים לפי ההגדרות הקודמות של Debug Watch. האפליקציה פועלת עכשיו ומאזינה לבקשות HTTP ביציאה 9000.

      האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה '9000'

      איור 3. האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה 9000.

  2. מפעילים את האפליקציה ngrok בסביבה המקומית:

    ngrok http --domain=NGROK_STATIC_DOMAIN 9000
    

    מחליפים את NGROK_STATIC_DOMAIN בדומיין הסטטי בחשבון ngrok. כל הבקשות מופנות לסביבה המקומית וליציאה שבה משתמשת האפליקציה.

    הטרמינל עם שרת 'ngrok' פועל ומפנה מחדש

    איור 4. הטרמינל עם השרת ngrok פועל ומפנה לכתובת אחרת.

  3. בנוסף, ממשק אינטרנט מופעל במארח המקומי באמצעות האפליקציה ngrok. תוכלו לעקוב אחר כל הפעילויות על ידי פתיחת הממשק בדפדפן.

    ממשק האינטרנט שמתארח באפליקציה 'ngrok' ולא מציג בקשות HTTP

    איור 5. ממשק האינטרנט שמתארח באפליקציה ngrok שלא מציג בקשות HTTP.

  4. כדי לבדוק את התוסף ל-Google Workspace, פותחים תצוגה מקדימה של כתובת ה-URL של בקשת התמיכה במסמך חדש ב-Google Docs באמצעות חשבון בודק:

    • יוצרים מסמך חדש ב-Google Docs.

      יצירה של מסמך חדש ב-Google Docs

    • מקלידים את הקישור הבא ומקישים על enter:

      https://example.com/support/case/?name=Name1&description=Description1&priority=P1
      
    • לוחצים על הקישור.

  5. בפונקציה Visual Studio Code בסביבה המקומית אפשר לראות שההפעלה מושהית בנקודת העצירה (breakpoint) שהוגדרה.

    הביצוע מושהה בנקודת העצירה שהוגדרה

    איור 6. ההפעלה מושהית בנקודת העצירה (breakpoint) שהוגדרה.

  6. כשממשיכים את ההפעלה מהכלי לניפוי באגים של Visual Studio Code, לפני שפג הזמן הקצוב לתוספים של Google Workspace, התצוגה המקדימה של הקישור תופיע ב-Google Docs מהמטמון.

  7. אפשר לבדוק את בקשת ה-HTTP ואת יומני התגובה מתוך ממשק האינטרנט שמתארח באפליקציה ngrok בסביבה המקומית.

    בקשת ה-HTTP מממשק האינטרנט שמתארח באפליקציה 'ngrok'

    איור 7. בקשת ה-HTTP מממשק האינטרנט שמתארח באפליקציה ngrok.

  8. כדי לשנות את התנהגות האפליקציה, מחליפים את Case ב-Case: בתוך הקובץ 56 מתוך הקובץ main.py. כששומרים את הקובץ, האפליקציה Visual Studio Code טוענת מחדש באופן אוטומטי את האפליקציה עם קוד המקור המעודכן ונשארת במצב ניפוי באגים.

    האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה '9000' כששינוי הקוד נטען

    איור 8. האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה 9000 כששינוי הקוד נטען.

  9. הפעם, במקום ללחוץ על הקישור ולהמתין כמה שניות במסמך חדש של Google Docs, אפשר לבחור את בקשת ה-HTTP האחרונה שנרשם בממשק האינטרנט שמתארח באפליקציה ngrok בסביבה המקומית, ואז ללחוץ על Replay. כמו בפעם הקודמת, התוסף של Google Workspace לא מגיב כי מתבצע בו ניפוי באגים באופן פעיל.

  10. כשממשיכים את ההפעלה מהכלי לניפוי באגים של Visual Studio Code, בממשק המקומי של האפליקציה ngrok אפשר לראות שהאפליקציה מייצרת תגובה עם הגרסה המעודכנת של כרטיס התצוגה המקדימה.

Java

  1. מה-IDE של Visual Studio Code שמותקן בסביבה המקומית:

    1. בחלון חדש, פותחים את התיקייה add-ons-samples/java/3p-resources.
    2. מגדירים את הפרויקט ב-Maven כך שיריץ את האפליקציה CreateLinkPreview ביציאה 9000 באופן מקומי. לשם כך, מוסיפים את פלאגין ה-build של Cloud Functionss Framework function-maven-plugin בקובץ pom.xml:

      ...
      <plugin>
          <groupId>com.google.cloud.functions</groupId>
          <artifactId>function-maven-plugin</artifactId>
          <version>0.11.0</version>
          <configuration>
              <functionTarget>CreateLinkPreview</functionTarget>
              <port>9000</port>
          </configuration>
      </plugin>
      ...
      
    3. עכשיו אפשר להפעיל אותו באופן מקומי במצב ניפוי באגים:

      mvnDebug function:run
      Preparing to execute Maven in debug mode
      Listening for transport dt_socket at address: 8000
      
    4. יוצרים את הקובץ .vscode/launch.json בספריית הבסיס ומגדירים הפעלה בשם Remote Debug Watch שמצורפת לאפליקציה שהופעלה בעבר עם יציאה 8000:

      {
          "version": "0.2.0",
          "configurations": [{
              "type": "java",
              "request": "attach",
              "name": "Remote Debug Watch",
              "projectName": "http-function",
              "hostName": "localhost",
              "port": 8000
          }]
      }
      
    5. מוסיפים נקודת עצירה (breakpoint) שמשהה את העיבוד של בקשת ה-HTTP בקובץ CreateLinkPreview.java, ומתחילים לצרף ולנפות באגים לפי ההגדרות הקודמות של Remote Debug Watch. האפליקציה פועלת עכשיו ומאזינה לבקשות HTTP ביציאה 9000.

      האפליקציה פועלת ומאזינה לבקשות HTTP ביציאה &#39;9000&#39;

      איור 3. האפליקציה שלו פועלת ומאזינה לבקשות HTTP ביציאה 9000.

  2. מפעילים את האפליקציה ngrok בסביבה המקומית:

    ngrok http --domain=NGROK_STATIC_DOMAIN 9000
    

    מחליפים את NGROK_STATIC_DOMAIN בדומיין הסטטי בחשבון ngrok. כל הבקשות מופנות לסביבה המקומית וליציאה שבה משתמשת האפליקציה.

    הטרמינל עם שרת &#39;ngrok&#39; פועל ומפנה מחדש

    איור 4. הטרמינל עם השרת ngrok פועל ומפנה לכתובת אחרת.

  3. בנוסף, ממשק אינטרנט מופעל במארח המקומי באמצעות האפליקציה ngrok. תוכלו לעקוב אחר כל הפעילויות על ידי פתיחת הממשק בדפדפן.

    ממשק האינטרנט שמתארח באפליקציה &#39;ngrok&#39; ולא מציג בקשות HTTP

    איור 5. ממשק האינטרנט שמתארח באפליקציה ngrok שלא מציג בקשות HTTP.

  4. כדי לבדוק את התוסף ל-Google Workspace, פותחים תצוגה מקדימה של כתובת ה-URL של בקשת התמיכה במסמך חדש ב-Google Docs באמצעות חשבון בודק:

    • יוצרים מסמך חדש ב-Google Docs.

      יצירה של מסמך חדש ב-Google Docs

    • מקלידים את הקישור הבא ומקישים על enter:

      https://example.com/support/case/?name=Name1&description=Description1&priority=P1
      
    • לוחצים על הקישור.

  5. בפונקציה Visual Studio Code בסביבה המקומית אפשר לראות שההפעלה מושהית בנקודת העצירה (breakpoint) שהוגדרה.

    הביצוע מושהה בנקודת העצירה שהוגדרה

    איור 6. ההפעלה מושהית בנקודת העצירה (breakpoint) שהוגדרה.

  6. כשממשיכים את ההפעלה מהכלי לניפוי באגים של Visual Studio Code, לפני שפג הזמן הקצוב לתוספים של Google Workspace, התצוגה המקדימה של הקישור תופיע ב-Google Docs מהמטמון.

  7. אפשר לבדוק את בקשת ה-HTTP ואת יומני התגובה מתוך ממשק האינטרנט שמתארח באפליקציה ngrok בסביבה המקומית.

    בקשת ה-HTTP מממשק האינטרנט שמתארח באפליקציה &#39;ngrok&#39;

    איור 7. בקשת ה-HTTP מממשק האינטרנט שמתארח באפליקציה ngrok.

  8. כדי לשנות את התנהגות האפליקציה, יש להחליף את Case ב-Case: מוטבע 78 של הקובץ CreateLinkPreview.java, להפעיל מחדש את התהליך mvnDebug ולהפעיל מחדש את Remote Debug Watch כדי לצרף מחדש ולהפעיל מחדש את ניפוי הבאגים.

  9. הפעם, במקום ללחוץ על הקישור ולהמתין כמה שניות במסמך חדש של Google Docs, אפשר לבחור את בקשת ה-HTTP האחרונה שנרשם בממשק האינטרנט שמתארח באפליקציה ngrok בסביבה המקומית, ואז ללחוץ על Replay. כמו בפעם הקודמת, התוסף של Google Workspace לא מגיב כי מתבצע בו ניפוי באגים באופן פעיל.

  10. כשממשיכים את ההפעלה מהכלי לניפוי באגים של Visual Studio Code, בממשק המקומי של האפליקציה ngrok אפשר לראות שהאפליקציה מייצרת תגובה עם הגרסה המעודכנת של כרטיס התצוגה המקדימה.

ניפוי באגים מהסביבה המרוחקת

בקטע הזה, מנהלים את האינטראקציה עם התוסף של Google Workspace שפועל בסביבה מרוחקת.

ניפוי באגים מהסביבה
המרחוק

איור 9. ניפוי באגים מהסביבה המרוחקת.

דרישות מוקדמות

  • התוסף ל-Google Workspace נפרס והותקן.
  • האפליקציה שפועלת בסביבה המרוחקת כשהכלי לניפוי באגים מופעל ביציאה מסוימת, מופיע כ-REMOTE_DEBUG_PORT בהוראות של המדריך.
  • הסביבה המקומית שלך יכולה ssh אל הסביבה המרוחקת שלך.
  • סביבת פיתוח משולבת (IDE) שמוגדרת בסביבה המקומית שיכולה לנפות באגים. למטרות המחשה, אנחנו משתמשים ב-Visual Studio Code IDE ובתכונות ברירת המחדל לניפוי באגים.

חיבור בין הסביבה המקומית לסביבות המרוחקות

בסביבה המקומית שממנה רוצים להתחיל חיבור לקוח לניפוי באגים, מגדירים מנהרת SSH:

ssh -L LOCAL_DEBUG_PORT:localhost:REMOTE_DEBUG_PORT REMOTE_USERNAME@REMOTE_ADDRESS

מחליפים את מה שכתוב בשדות הבאים:

  • LOCAL_DEBUG_PORT: יציאת ניפוי הבאגים בסביבה המקומית.
  • REMOTE_USERNAME: שם המשתמש בסביבה המרוחקת שלך.
  • REMOTE_ADDRESS: הכתובת של הסביבה המרוחקת.
  • REMOTE_DEBUG_PORT: יציאת ניפוי הבאגים בסביבה המרוחקת.

יציאת ניפוי הבאגים בסביבה המקומית מקושרת עכשיו ליציאת ניפוי הבאגים בסביבה המרוחקת.

התחלת ניפוי באגים

מה-IDE של Visual Studio Code שמותקן בסביבה המקומית:

  1. בחלון חדש, פותחים את קוד המקור של האפליקציה.
  2. יוצרים את הקובץ .vscode/launch.json בספריית הבסיס ומגדירים הפעלה בשם Debug Remote שמתחבר ליציאת ניפוי הבאגים בסביבה המקומית:

    Node.js

    {
        "version": "0.2.0",
        "configurations": [{
            "type": "node",
            "request": "attach",
            "name": "Debug Remote",
            "address": "127.0.0.1",
            "port": LOCAL_DEBUG_PORT
        }]
    }
    

    Python

    {
        "version": "0.2.0",
        "configurations": [{
            "type": "python",
            "request": "attach",
            "name": "Debug Remote",
            "connect": {
                "host": "127.0.0.1",
                "port": LOCAL_DEBUG_PORT
            }
        }]
    }
    

    Java

    {
        "version": "0.2.0",
        "configurations": [{
            "type": "java",
            "request": "attach",
            "name": "Debug Remote",
            "hostName": "127.0.0.1",
            "port": LOCAL_DEBUG_PORT
        }]
    }
    

    מחליפים את LOCAL_DEBUG_PORT ביציאת ניפוי הבאגים בסביבה המקומית.

  3. מוסיפים נקודת עצירה (breakpoint) בקוד המקור של האפליקציה שמשהה את העיבוד של בקשת ה-HTTP, ומתחילים להריץ ולנפות באגים כשמוסיפים את ההגדרות Debug Remote לפני כן.

אינטראקציה עם התוסף של Google Workspace שהתקנתם. התוסף ל-Google Workspace לא מגיב כי מתבצע בו ניפוי באגים באופן פעיל בסביבת הפיתוח המשולבת (IDE) Visual Studio Code.

איך לבצע שאילתות ביומני שגיאות