vscode visual used type studio react para only configurar compile code javascript typescript visual-studio-code

javascript - used - Los ''tipos'' de js solo pueden usarse en un archivo.ts-Visual Studio Code usando @ ts-check



visual studio code typescript auto compile (3)

Estoy empezando a usar TypeScript en un proyecto Node en el que estoy trabajando en Visual Studio Code. Quería seguir la estrategia "opt-in", similar a Flow. Por lo tanto, pongo // @ts-check en la parte superior de mi archivo .js 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 como:

// @ts-check module.exports = { someMethod: (param: string): string => { return param; }, };

y mi archivo tsconfig.json 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.

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é establecer tslint.jsEnable en true en mi configuración de vscode como se menciona en los documentos de extensión de TSLint, pero no tuve suerte.

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


Debe usar un archivo .ts , por ejemplo, test.ts para obtener la validación de test.ts , la typing inteligente de vars, los tipos de retorno, así como la verificación de errores "tipeados" (por ejemplo, pasar una string a un método que espera que un parámetro number produzca un error) .

Se trasladará a (estándar) .js través de tsc .

Actualización (11/2018):

Se necesita una aclaración basada en votos negativos, comentarios muy útiles y otras respuestas.

types

  • Sí, puede hacer una verificación de type en VS Code en archivos .js con @ts-check , como se muestra en la animación

  • A lo que originalmente me refería para los types Script types es algo como esto en .ts que no es exactamente lo mismo:

    hello-world.ts

    function hello(str: string): string { return 1; } function foo(str:string):void{ console.log(str); }

    Esto no se compilará. Error: Type "1" is not assignable to String

  • si probó esta sintaxis en un archivo Javascript hello-world.js :

    //@ts-check function hello(str: string): string { return 1; } function foo(str:string):void{ console.log(str); }

    Se muestra el mensaje de error al que hace referencia OP: [js] ''types'' can only be used in a .ts file

Si hay algo que me perdí que cubre esto, así como el contexto del OP, agregue. Aprendamos todos.


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:

Cómo deshabilitar TypeScript incorporado:

  1. ir a la pestaña de extensiones
  2. buscar @builtin TypeScript y JavaScript Language Features
  3. haga clic en Desactivar

Use "javascript.validate.enable": false en la configuración de su código VS, no deshabilita ESLINT. Yo uso ESLINT y Flow. Simplemente siga las instrucciones de Flujo para la configuración del código Vs

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