Error: los 'tipos' solo se pueden usar en un archivo .ts - Visual Studio Code usando @ts-check

Resuelto james asked hace 6 años • 15 respuestas

Estoy empezando a usar TypeScript en un proyecto de Node en el que estoy trabajando en Visual Studio Code. Quería seguir la estrategia de "inscripción voluntaria", similar a Flow. Por lo tanto, lo puse // @ts-checken la parte superior de mi .jsarchivo con la esperanza de habilitar TS para ese archivo. En última instancia, quiero la misma experiencia de "linting" que Flow, por lo tanto, instalé el complemento TSLint para poder ver las advertencias/errores de Intellisense.

Pero con mi archivo luciendo así:

// @ts-check

module.exports = {
  someMethod: (param: string): string => {
    return param;
  },
};

y mi tsconfig.jsonarchivo parece...

{
  "compilerOptions": {
      "target": "es2016",
      "module": "commonjs",
      "allowJs": true
  }
}

Recibo este error: [js] 'types' can only be used in a .ts file.como se muestra a continuación en la imagen.

error de vscode para ts

Vi esta pregunta que recomendaba deshabilitar la validación de JavaScript en vscode, pero eso no me muestra ninguna información de TypeScript Intellisense.

Intenté configurar tslint.jsEnablemi trueconfiguración de vscode como se menciona en los documentos de la extensión TSLint, pero no tuve suerte.

¿Cuál es la configuración correcta para usar .jsarchivos con TypeScript y obtener Intellisense para saber cuáles son los errores en mi código antes de ejecutar cualquier comando TS?

james avatar Feb 19 '18 10:02 james
Aceptado

Estoy usando flow con vscode pero tuve el mismo problema. Lo resolví con estos pasos:

  1. Instale la extensión Flow Language Support

  2. Deshabilite la extensión TypeScript incorporada:

    1. Ir a la pestaña Extensiones
    2. Busque funciones de lenguaje @builtin TypeScript y JavaScript
    3. Haga clic en Desactivar
Idan Dagan avatar May 17 '2018 06:05 Idan Dagan

Úselo "javascript.validate.enable": falseen la configuración de su código VS. No deshabilita ESLINT. Utilizo ESLINT y Flow. Simplemente siga las instrucciones de configuración de Flow For Vs Code

Agregando esta línea en settings.json. Ayuda "javascript.validate.enable": false

Adeel Imran avatar Jun 06 '2018 17:06 Adeel Imran

Seguí los siguientes pasos para solucionar el problema:

Vaya a Preferencias y luego a configuración: Ajustes

Después de ir a configuración, busque javascript.validateen la barra de búsqueda y desmarque la casilla de verificación: texto en la barra de búsqueda

Si desea editarlo mediante json, vaya a: Código -> Preferencias -> Configuración -> Extensiones -> Desplácese hacia abajo y busque "Editar en settings.json". extensión Luego añade

"javascript.validate.enable": false

mostrando configuración.json

surhidamatya avatar Jul 19 '2021 13:07 surhidamatya

Para cualquiera que llegue aquí y todas las demás soluciones no funcionaron, pruébelo. Estoy usando Typecript + reaccionar y mi problema fue que estaba asociando los archivos en vscode, así javascriptreactque typescriptreactverifique su configuración para las siguientes entradas.

   "files.associations": {
    "*.tsx": "typescriptreact",
    "*.ts": "typescriptreact"
  },
Kenny Hammerlund avatar Nov 05 '2019 01:11 Kenny Hammerlund