typescript - איך לעצור את IntelliJ מלהציע ייבוא של Promise מ-jQuery


Intellij מציע לי לייבא את Promise מ-jQuery למרות שהוא לא מוגדר כ-undefined והקונפיגורציה של typescript שלי כוללת lib: ["es2015"] (מה שמצביע על כך ש-typescript מודע לכך ש-Promise מוגדר בספרייה הסטנדרטית).

יש לו השלמות סוגים והכל. זה לא אדום, העורך מודע לחלוטין למה Promise הוא, הוא פשוט רוצה לייבא את ההגדרה של jQuery מסיבה לא ידועה.

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

זה מציע זאת בין אם אני משתמש ב-Promise כערך או כסוג.

זה מונע את התנהגות הצעת הייבוא לדברים שאני באמת רוצה לייבא בהמשך הקובץ. וזה מאט הכל בעורך שלי.

באידיאל, אני יכול למצוא דרך שבה זה יציע ייבוא רק עבור משתנים שלא מוגדרים. האם זו אפשרות איפשהו? אני לא רוצה להשבית את זה לחלוטין.

עדכון כיבוי הבדיקות לחלוטין לא משנה את ההתנהגות. (מידע נוסף נוסף גם למעלה).

תשובה #1

ב-Webstorm 2021.2 (ואני מניח שגם ב-IDEs אחרים של IntelliJ) יש עכשיו פעולה בהקשר כדי לתקן זאת:

  1. לחץ באמצעות הכפתור הימני על Promise
  2. בחר הצג פעולות בהקשר
  3. בחר Enable library 'es2015.promise' ב-tsconfig.json

שימו לב כי לחיצה על ALT+Enter בלבד כנראה תבצע רק את הייבוא, לכן עליכם ללחוץ לחיצה ימנית כדי לפתוח את תפריט הפעולות בהקשר.

כדי לעשות זאת באופן ידני, הוסף את 'es2105.promise' לסעיף lib של tsconfig.json שלך

{
  "compilerOptions": {
    "lib" : [
      "es2015.promise",
    ],
  }
}