Visual Studio Code ignora la configuración de la versión de TypeScript
No puedo hacer que Visual Studio Code actualice la versión de TypeScript que está ejecutando.
He leído la respuesta a esta pregunta en detalle.
He intentado configurar mis ajustes de usuario en:
{
"typescript.tsdk": "C:\\Users\\myUser\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib"
}
Esto no ayudó.
También he intentado configurar la configuración de mi espacio de trabajo en:
{
"typescript.tsdk": "./node_modules/typescript/lib"
}
Esto también parecía no tener ningún efecto.
Configuré mi ejecutor de tareas para ejecutar tasks.json y lo configuré de la siguiente manera:
{
"version": "0.1.0",
"command": "tsc",
"args": ["-v"],
"echoCommand": true
}
Esto llamará a tsc con el comando -v (para mostrar la versión).
Cuando presiono ctrl+shift+B, la salida muestra
ejecutando comando> tsc -v
Versión 1.8.34
¿Hay algo más que necesite hacer para que Visual Studio Code actualice su versión de Typescript?
NOTA: Fui a ambos caminos que intenté arriba e hice un tsc -v en la carpeta bin y ambos devolvieron 2.1.4
NOTA II: He intentado reiniciar Visual Studio Code varias veces.
NOTA III: Cuando ejecuto tsc -v desde un símbolo del sistema en C:, muestra 2.1.4
Estoy ejecutando Visual Studio Code 1.8.1
Actualizar :
Cambié mi tasks.json para ejecutar where tsc y este fue el resultado:
ejecutando comando> where tsc
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.js
C:\Users\miUsuario\AppData\Roaming\npm\tsc
C:\Users\miUsuario\AppData\Roaming\npm\tsc.cmd
Así que puedo ver de dónde está obteniendo la versión más antigua de TypeScript, pero no entiendo POR QUÉ no está usando la versión "sobrescrita".
Mi única suposición es que la anulación no es para la compilación. Solo es para IntelliSense y cosas así. Aún así, necesito una forma de cambiar esto...
Respuesta #1
Trabajo en el soporte de TypeScript y JavaScript en VSCode.
El typescript.tsdk establece la versión de TypeScript utilizada dentro de VSCode para IntelliSense. No afecta qué versión de tsc se utiliza para ejecutar las tareas. Las tareas usan la misma lógica que la línea de comandos para resolver tsc.
Para usar tu copia local de tsc en la tarea, cambia el task.json a:
{
"version": "0.1.0",
"command": "./node_modules/.bin/tsc",
"args": ["-v"],
"echoCommand": true
}
o, en Windows:
{
"version": "0.1.0",
"command": ".\\node_modules\\.bin\\tsc.cmd",
"args": ["-v"],
"echoCommand": true
}
Espero que eso ayude a aclarar las cosas. Por favor, háganos saber si tiene alguna idea para hacer que la documentación de esto sea más clara, o incluso puede enviar un PR para mejorar la documentación.
