¿Qué versión de TypeScript usa Visual Studio Code? ¿Cómo actualizarlo?

111

¿Cómo puedo saber qué versión de TypeScript se está utilizando en Visual Studio Code? En particular, había estado usando TypeScript 1.8.10 y VSCode 1.4.0. Primero actualicé VSCode a la última versión, que era 1.5.3. Pero revisando desde la línea de comando, vi que mi versión de TypeScript todavía era 1.8.10. Así que actualicé TypeScript desde la línea de comandos y ahora es 2.0.3.

¿Hay alguna forma de saber con certeza si Visual Studio Code está usando la versión 2.0.3?

¿Existe un método para actualizar Visual Studio Code que actualice automáticamente TypeScript a la última versión publicada, o la actualización de TypeScript debe realizarse de forma independiente?

Richard Fuhr
fuente
tsc --version ??
Hackerman
Creo que es una configuración de archivo de proyecto. Si abre el archivo del proyecto (como un archivo .csproj) con el bloc de notas, puede eliminar el elemento de la versión mecanografiada que debería obligar al proyecto a utilizar la última versión instalada en la PC.
Igor
@Hackerman No, eso solo te muestra la versión global de TSC.
Fabian Lauer

Respuestas:

191

¿Se puede actualizar TypeScript automáticamente?

VS Code se envía con una versión estable reciente de TypeScript.

- de los documentos de VS Code

Esto significa que no hay forma de actualizar automáticamente la versión de TypeScript utilizada por VS Code. Sin embargo, puede anular la versión de TypeScript que usa VS Code modificando la configuración del usuario o la configuración del espacio de trabajo.


¿Qué versión de TypeScript usa VS Code?

Cuando abre un archivo de TypeScript, VS Code debería mostrar la versión de TypeScript en la barra de estado en la parte inferior derecha de la pantalla:

Barra de estado de VS Code versión de TypeScript


Cambiar la versión global de TypeScript

  1. Instale la versión de TypeScript deseada globalmente, por ejemplo npm install -g [email protected]
  2. Abrir configuración de usuario de VS Code ( F1> Open User Settings)
  3. Actualizar / Insertar "typescript.tsdk": "{your_global_npm_path}/typescript/lib": puede averiguar {your_global_npm_path} escribiendo npm root -g

Ahora, todos los proyectos que abra con VS Code usarán esta versión de TypeScript, a menos que, por supuesto, haya una configuración de espacio de trabajo que anule esto.


Cambiar la versión local de TypeScript

  1. Abra el proyecto en VS Code
  2. Instale la versión de TypeScript deseada localmente, por ejemplo npm install --save-dev [email protected]

    El --save-devactualizará su proyecto package.json, agregando la versión de TypeScript que instaló como devDependency.

  3. Abra la configuración del espacio de trabajo de VS Code ( F1> Open Workspace Settings)

  4. Actualizar / Insertar "typescript.tsdk": "./node_modules/typescript/lib"

    Ahora solo el proyecto en el que instaló esta versión de TypeScript usará esa versión de TypeScript, la instalación global será ignorada por VS Code en este proyecto.

  5. Una vez agregada la typescript.tsdkentrada, también es necesario usar la interfaz de usuario de VS Code para seleccionar la nueva versión:

    • Haga clic en la versión que se muestra en el pie de página de VS Code:

      vs pie de página del código

    • Selecciónelo en la interfaz de usuario:

      seleccione la versión ts en la interfaz de usuario


Ver también:

Fabián Lauer
fuente
3
Para su información, estoy en Windows, tuve que poner la ruta completa a la carpeta de módulos de mi nodo global - C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib. Puede verificar el suyo npm root -gen la línea de comando. De lo contrario, esto probablemente debería marcarse como la respuesta @Richard Fuhr
Cody
Agregar esta configuración hizo que el código de Visual Studio deshabilitara por completo todas las funciones del lenguaje mecanografiado. Esta no es la respuesta que busca.
BentOnCoding
3
@BentOnCoding Esto no desactivará nada. Compruebe si hay errores tipográficos en la tsdkruta y asegúrese de que TypeScript esté instalado en su repositorio. Además, otras 11 personas encontraron esto lo suficientemente correcto como para votar ;-)
Fabian Lauer
VS Code ahora parece estar recibiendo actualizaciones de la versión de TypeScript automáticamente, por lo que es posible que la respuesta aquí ya no sea actual.
Mickey Segal
1
Esta configuración se puede aplicar a una configuración de espacio de trabajo en su lugar, de modo que un proyecto que se dirige específicamente a una versión específica se pueda configurar para que permanezca así. Además, TENGA EN CUENTA que no puede apuntar a las versiones instaladas de MSI, ya que no son compatibles. Vea el sitio: code.visualstudio.com/docs/typescript/typescript-compiling
Itanex
19

Visual Studio Code viene con su propia versión estable de TypeScript, pero puede cambiar a una versión más nueva como se describe en sus documentos.

VS Code se envía con una versión estable reciente de TypeScript. Si desea utilizar una versión más reciente de TypeScript, puede definir la configuración de typescript.tsdk ( Archivo > Preferencias > Configuración de usuario / espacio de trabajo ) apuntando a un directorio que contiene el archivo tsserver.js de TypeScript .
...
Por ejemplo:

{
   "typescript.tsdk": "node_modules/typescript/lib"
}
DAXaholic
fuente
Mi tsc --version es 2.0.3 pero no puedo encontrar el archivo tsserver.js en mi Mac, por lo que no puedo cambiar la configuración en VSCode
Richard Fuhr
Agregar esta configuración hizo que el código de Visual Studio deshabilitara por completo todas las funciones del lenguaje mecanografiado. Esta no es la respuesta que busca.
BentOnCoding
Creo que esto se describe más claramente aquí gist.github.com/tonysneed/bb6d442103a057578a9498f106e45ac5
Gregor Schmitz
17

¿Hay alguna forma de saber con certeza si Visual Studio Code está usando la versión 2.0.3?

Abra un archivo de TypeScript en Visual Studio Code y en la parte inferior derecha verá la versión de TypeScript que está usando:

ingrese la descripción de la imagen aquí

¿Existe un método para actualizar Visual Studio Code que actualice automáticamente TypeScript a la última versión publicada, o la actualización de TypeScript debe realizarse de forma independiente?

La forma en que lo he estado haciendo es decirle explícitamente a Visual Studio Code la carpeta donde está instalado su módulo npm de TypeScript. Estoy en Windows, así que después de ejecutar el comando npm para instalar TypeScript ( npm install -g typescript), lo instalará en esta carpeta:

C:\Users\username\AppData\Roaming\npm\node_modules\typescript\

Por lo tanto, debe indicarle a Visual Studio Code que use la libcarpeta de su instalación npm de TypeScript. Haces esto por:

  1. Abra la configuración de VS Code (Archivo -> Preferencias -> Configuración)

  2. Buscar typescript.tsdkescenario ingrese la descripción de la imagen aquí

  3. Encuentra donde NPM instalado mecanografiado con: npm list -g typescript. En mi caso volvióC:\Users\username\AppData\Roaming\npm

  4. Anule el valor de la typescript.tsdkconfiguración a: C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib Tenga en cuenta el uso de barras inclinadas hacia atrás dobles para tener una cadena de escape correctamente con barras inclinadas hacia atrás.

  5. Confirme que VS Code está usando la versión npm de TypeScript para intellisense abriendo un archivo de TypeScript, haciendo clic en el número de versión de TypeScript en la parte inferior derecha y viendo en la ventana de tareas que VS Code está cargando TypeScript desde el directorio especificado en el paso 4:

ingrese la descripción de la imagen aquí

  1. Confirme que VS Code está usando la versión correcta de TypeScript para compilar yendo a esta carpeta y cambiando el nombre del archivo:

C: \ Users \ username \ AppData \ Roaming \ npm \ tsc.cmd (a algo como tsc1.cmd)

Ahora intente compilar en VS Code (Tareas -> Ejecutar tareas -> tsc: build - tsconfig.json) y debería recibir este mensaje de error en la ventana de terminal de VS Code:

'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
  1. Cambie el archivo de nuevo a tsc.cmd y ahora debería poder compilar y tener Intellisense en VS Code para el paquete de nodo TypeScript instalado globalmente
gomisha
fuente
2
¿Por qué esta no fue una edición de la respuesta que ya tenía el 99% de esta información?
SgtPooki
Supongo que nunca lo sabremos
Denny
4

Debería ver un número de versión en la barra inferior:

ingrese la descripción de la imagen aquí

Si hace clic en el número (2.4.0 arriba), se le presentará una opción para elegir la versión que le gustaría usar:

ingrese la descripción de la imagen aquí

Si no ve la versión que desea, probablemente no esté instalada y tenga que instalarla.

npm install -g typescript@2.7.2

Reemplace 2.7.2con la versión que desea instalar.

Mattnedrich
fuente
1

Aunque no pude encontrar el archivo tsserver.js cuando usé Spotlight en mi Mac, lo intenté nuevamente usando mdfind y encontré que su ubicación era "/ usr / local / lib / node_modules / typescript / lib /"

Así que usé esa ruta al editar la configuración de mi espacio de trabajo en settings.json

Ahora estoy usando mi versión más reciente de TypeScript y VSCode me dice que estoy usando mi versión más reciente.

Richard Fuhr
fuente
0

Tuve un problema similar y ahora logré tener una versión actualizada de TypeScript modificando las variables de entorno en mi sistema. En mi caso, necesitamos una versión de TypeScript superior a 2. Pero solo pude usar la versión 1.8.3. Lo primero es que fui a las variables de entorno de mi sistema y verifiqué la variable de ruta. Allí encontré una referencia a la versión 1.8.3 de TypeScript.

C: \ Archivos de programa (x86) \ Microsoft SDKs \ TypeScript \ 1.8.3 \

Cuando verifiqué el directorio principal, esta también fue la versión más alta instalada en ese directorio. Habría pensado al instalar globalmente la última versión, que también vería esto aquí, pero no está allí. La versión que ve aquí es la que se instaló con Visual Studio (no el código de Visual Studio).

Así que fui a Visual Studio y actualicé la biblioteca de TypeScript a la última versión a través de Opciones> Extensiones y actualizaciones. Allí busqué la última versión de TypeScript y la instalé.

Esto hizo que una nueva versión estuviera disponible en el directorio principal mencionado anteriormente. Luego cambié la variable de ruta a:

C: \ Archivos de programa (x86) \ Microsoft SDKs \ TypeScript \ 2.2 \

Cuando abro VS Code y escribo tsc -v, veo que estoy usando la última versión. Ya no hay mensajes que no coincidan, etc. Espero que esto les ayude un poco.

Thomas Van Herpe
fuente
0

El paquete TypeScript tiene un compilador y un servicio de lenguaje. VScode viene con un servicio de lenguaje Typecript, no con el compilador. Puede ver el servicio de idioma en la parte inferior derecha, como muestran las otras respuestas, pero no puede ver qué versión del compilador se ha utilizado.

Puede tener diferentes versiones para el compilador y el servicio de idiomas.

Lombas
fuente
0

Para usar automáticamente la versión de TypeScript instalada en su espacio de trabajo node_modules, sin tener que configurarla cada vez que configure un nuevo espacio de trabajo, puede establecer la configuración predeterminada de Typecript en la configuración de usuario JSON ( no en el área de trabajo ) para usar una ruta relativa:

{
    // ... other User settings
    "typescript.tsdk": "./node_modules/typescript/lib"
}

Ahora, cuando ejecute el comando "Seleccionar versión mecanografiada ...", la "Versión del código VS" siempre será la misma que la "Versión del espacio de trabajo":

Comando 'Seleccionar versión de TypeScript ...'

La única desventaja potencial de esto es que significa que siempre necesita Typecript instalado en el espacio de trabajo en el que está trabajando. Sin embargo, si está escribiendo Typecript en cualquier lugar, creo que es una expectativa razonable.

Julien
fuente