Hvilken TypeScript-versjon bruker Visual Studio Code? Hvordan oppdaterer man den?
Hvordan kan jeg se hvilken versjon av TypeScript som brukes i Visual Studio Code? Spesielt hadde jeg brukt TypeScript 1.8.10 og VSCode 1.4.0. Jeg oppdaterte først VSCode til den nyeste versjonen, som var 1.5.3. Men da jeg sjekket fra kommandolinjen, så jeg at TypeScript-versjonen min fortsatt var 1.8.10. Så oppdaterte jeg TypeScript fra kommandolinjen, og den er nå 2.0.3.
Finnes det en måte å vite sikkert om Visual Studio Code bruker versjon 2.0.3?
Finnes det en metode for å oppdatere Visual Studio Code som automatisk oppdaterer TypeScript til den nyeste utgitte versjonen, eller må TypeScript-oppdateringen gjøres uavhengig?
Svar #1
Kan TypeScript oppdateres automatisk?
VS Code leveres med en nylig stabil versjon av TypeScript.
- fra VS Code-dokumentasjon
Dette betyr at det ikke finnes noen måte å automatisk oppgradere TypeScript-versjonen som brukes av VS Code. Du kan imidlertid overstyre TypeScript-versjonen VS Code bruker ved å endre enten brukerinnstillingene eller arbeidsområdeinnstillingene.
Hvilken TypeScript-versjon bruker VS Code?
Når du åpner en TypeScript-fil, skal VS Code vise TypeScript-versjonen i statuslinjen nederst til høyre på skjermen:
I nyere versjoner (eller når statuslinjen er overfylt?) kan det hende du må holde musen over {} ved siden av TypeScript for å se en popup med informasjonen:
Endre den globale TypeScript-versjonen
- Installer ønsket TypeScript-versjon globalt, for eksempel
npm install -g [email - Åpne VS Code brukerinnstillinger (F1 >
Åpne brukerinnstillinger) - Oppdater/Sett inn
"typescript.tsdk": "{GLOBAL_NPM_PATH}/typescript/lib"
Tips: Du kan finne ut {GLOBAL_NPM_PATH} ved å kjøre npm root -g.
Nå vil alle prosjektene du åpner med VS Code bruke denne TypeScript-versjonen, med mindre det selvfølgelig finnes en arbeidsområdeinnstilling som overstyrer dette.
Endre den lokale TypeScript-versjonen
Åpne prosjektet i VS Code
Installer ønsket TypeScript-versjon lokalt, for eksempel
npm install --save-dev [email--save-devvil oppdatere prosjektetspackage.json, og legge til den versjonen av TypeScript du installerte som endevDependency.Åpne VS Code-arbeidsområdeinnstillinger (F1 >
Åpne arbeidsområdeinnstillinger)Oppdater/Sett inn
"typescript.tsdk": "./node_modules/typescript/lib"Nå vil bare prosjektet du installerte denne TypeScript-versjonen i bruke den TypeScript-versjonen, den globale installasjonen vil bli ignorert av VS Code i dette prosjektet.
Etter å ha lagt til
typescript.tsdk-oppføringen, er det også nødvendig å bruke VS Code-grensesnittet for å velge den nye versjonen:Velg det i brukergrensesnittet:
Se også:
- Bruke nyere TypeScript-versjoner
- Forbedre dokumentasjonen for
typescript.tsdkfor å gjøre arbeidsområdebruk tydeligere
Svar #2
Visual Studio Code kommer med sin egen stabile versjon av TypeScript, men du kan bytte til en nyere versjon som beskrevet i dokumentasjonen deres
VS Code leveres med en nylig stabil versjon av TypeScript. Hvis du ønsker å bruke en nyere versjon av TypeScript, kan du definere typescript.tsdk-innstillingen (Fil > Innstillinger > Bruker-/Arbeidsområdesinnstillinger) som peker til en katalog som inneholder TypeScript tsserver.js-filen.
...
For eksempel:{ "typescript.tsdk": "node_modules/typescript/lib" }
Svar #3
Finnes det en måte å sjekke med sikkerhet om Visual Studio Code bruker versjon 2.0.3?
Åpne en TypeScript-fil i Visual Studio Code, og nederst til høyre vil du se hvilken versjon av TypeScript den bruker:
Finnes det en metode for å oppdatere Visual Studio Code som automatisk oppdaterer TypeScript til den nyeste utgitte versjonen, eller må TypeScript-oppdateringen gjøres separat?
Måten jeg har gjort det på er å eksplisitt fortelle Visual Studio Code mappen der ditt TypeScript npm-modul er installert. Jeg bruker Windows, så etter at du kjører npm-kommandoen for å installere TypeScript (npm install -g typescript) vil det bli installert i denne mappen:
C:\Users\username\AppData\Roaming\npm\node_modules\typescript\
Så du må fortelle Visual Studio Code å bruke lib-mappen til TypeScript npm-installasjonen din. Dette gjør du ved å:
Åpne VS Code-innstillinger (Fil -> Preferanser -> Innstillinger)
Søk etter
typescript.tsdk-innstillingenFinn hvor npm installerte TypeScript med:
npm list -g typescript. I mitt tilfelle returnerte detC:\Users\brukernavn\AppData\Roaming\npmOverskriv verdien av
typescript.tsdk-innstillingen til:C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\libMerk bruken av doble bakoverstreker for å ha en riktig escaped streng med bakoverstreker.Bekreft at VS Code bruker npm-versjonen av TypeScript for intellisense ved å åpne en TypeScript-fil, klikke på TypeScript-versjonsnummeret nederst til høyre og se i oppgavevinduet at VS Code laster TypeScript fra katalogen spesifisert i trinn 4:
- Bekreft at VS Code bruker riktig versjon av TypeScript for kompilering ved å gå til denne mappen og endre navnet på filen:
C:\Users\username\AppData\Roaming\npm\tsc.cmd (til noe som tsc1.cmd)
Prøv nå å bygge i VS Code (Oppgaver -> Kjør oppgaver -> tsc:build - tsconfig.json) og du bør få denne feilmeldingen i VS Code-terminalvinduet:
'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
- Endre filen tilbake til tsc.cmd, og du bør nå kunne bygge og ha Intellisense i VS Code for den globalt installerte TypeScript-nodepakken
Svar #4
For å automatisk bruke Typescript-versjonen som er installert i arbeidsområdets node_modules, uten å måtte konfigurere den hver gang du setter opp et nytt arbeidsområde, kan du sette standard Typescript-innstilling i User Settings JSON (ikke Workspace) til å bruke en relativ bane:
{
// ... other User settings
"typescript.tsdk": "./node_modules/typescript/lib"
}
Nå, når du kjører kommandoen «Velg TypeScript-versjon...», vil «VS Codes versjon» alltid være den samme som «Arbeidsområdets versjon»:
Den eneste potensielle ulempen med dette er at det betyr at du alltid trenger å ha Typescript installert i arbeidsområdet du jobber i. Men, hvis du skriver Typescript hvor som helst, tror jeg det er en rimelig forventning.







