Error: los 'tipos' solo se pueden usar en un archivo .ts - Visual Studio Code usando @ts-check
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-check
en la parte superior de mi .js
archivo 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.json
archivo 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é configurar tslint.jsEnable
mi true
configuració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 .js
archivos con TypeScript y obtener Intellisense para saber cuáles son los errores en mi código antes de ejecutar cualquier comando TS?
Estoy usando flow con vscode pero tuve el mismo problema. Lo resolví con estos pasos:
Instale la extensión Flow Language Support
Deshabilite la extensión TypeScript incorporada:
- Ir a la pestaña Extensiones
- Busque funciones de lenguaje @builtin TypeScript y JavaScript
- Haga clic en Desactivar
Úselo "javascript.validate.enable": false
en 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
Seguí los siguientes pasos para solucionar el problema:
Vaya a Preferencias y luego a configuración:
Después de ir a configuración, busque javascript.validate
en la barra de búsqueda y desmarque la casilla de verificación:
Si desea editarlo mediante json, vaya a: Código -> Preferencias -> Configuración -> Extensiones -> Desplácese hacia abajo y busque "Editar en settings.json". Luego añade
"javascript.validate.enable": false
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í javascriptreact
que typescriptreact
verifique su configuración para las siguientes entradas.
"files.associations": {
"*.tsx": "typescriptreact",
"*.ts": "typescriptreact"
},