VS Code: Aktivera JavaScript IntelliSense i TypeScript-projekt


Finns det ett sätt att aktivera IntelliSense för JavaScript-filer i ett TypeScript-projekt?

Om jag importerar en funktion från ett JavaScript-paket på det här sättet:

import foo from "js-package"

och jag är i index.js, jag ser att IntelliSense plockar upp JSDoc-kommentarer och listar parametrarna som funktionen tar; om jag däremot är i en .ts-fil får jag inget av detta. Hur aktiverar jag JavaScript IntelliSense i .ts-filer med VS Code?

REDIGERA: Detta är vad som händer:

Ironiskt, eller hur?

Svar #1

Du behöver inte några tillägg. Aktivera bara typeAcquisition i din tsconfig.json genom att lägga till:

{
  "typeAcquisition": {
    "enable": true
  }
}

Detta möjliggör automatisk detektion och nedladdning av definitionsfiler för TypeScript. Jag laddar ofta om fönstret (startar om VS Code) när jag ändrar inställningarna, för att försäkra mig om att inställningarna har lästs. Detta är dock inte alltid nödvändigt.

Denna funktion är inaktiverad som standard om du använder en tsconfig.json-konfigurationsfil, men kan ställas in på aktiverad som beskrivs närmare nedan). källa

Det var tidigare under typingOptions.enableAutoDiscovery, men refaktorerades till typeAcquisition.enable, som visas på detta Github-ärende. Du kan fortfarande hitta referenser till det på dessa webbplatser. Jag tycker att det är svårare att hitta information om typeAcquisition, men schemat bevisar dess existens.

Fattas tsconfig.json? Skapa en genom att följa det bästa svaret här.

Svar #2

Jag vet inte om detta löser exakt det efterfrågade problemet men jag hade vissa problem med IntelliSense i mitt TypeScript-projekt (Vue 3, Vite och TypeScript). Jag fick en varning som sa "Partial mode - Project wide IntelliSense not available" och en länk till denna informationssida: https://code.visualstudio.com/docs/nodejs/working-with-javascript#_partial-intellisense-mode

Efter lite forskning upptäckte jag att jag använde nästa alternativ i mina inställningar:

"typescript.tsserver.useSyntaxServer": "always",

Det alternativet använder en lättare server för att hantera IntelliSense, men endast för öppna filer. Om du har den här raden kan du ta bort den för att få tillbaka "Project Wide IntelliSense".

Kan du dela din tsconfig.json och VSCode-inställningar?

Låt mig veta om jag ska öppna en separat fråga för detta eller ta bort det. Jag tror att det kan vara användbart.

Relaterade artiklar