javascript - Fel: 'types' kan bara användas i en .ts-fil - Visual Studio Code använder @ts-check
Jag börjar använda TypeScript i ett Node-projekt som jag arbetar med i Visual Studio Code. Jag ville följa strategin "opt-in", liknande Flow. Därför satte jag // @ts-check överst i min .js-fil i hopp om att aktivera TS för den filen. I slutändan vill jag ha samma upplevelse av "linting" som Flow, därför installerade jag pluginet TSLint så att jag kunde se Intellisense-varningar/fel.
Men med min fil som ser ut så här:
// @ts-check
module.exports = {
someMethod: (param: string): string => {
return param;
},
};
och min tsconfig.json-fil ser ut som...
{
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"allowJs": true
}
}
Jag får detta fel: [js] 'types' kan bara användas i en .ts-fil. som visas nedan i bilden.
Jag såg den här frågan som rekommenderade att stänga av javascript-validering i vscode, men då visas inte någon TypeScript Intellisense-information för mig.
Jag försökte ställa in tslint.jsEnable till true i mina vscode-inställningar som nämnts i TSLint-tilläggens dokumentation, men utan framgång.
Vad är den korrekta inställningen för att använda .js-filer med TypeScript och få Intellisense så att jag vet vilka fel som finns i min kod innan jag kör några TS-kommandon?
Svar #1
Jag använder Flow med VSCode men hade samma problem. Jag löste det med dessa steg:
Installera tillägget Flow Language Support
Inaktivera den inbyggda TypeScript-tillägget:
- Gå till fliken Tillägg
- Sök efter @builtin TypeScript och JavaScript språkfunktioner
- Klicka på Inaktivera
Svar #2
Använd "javascript.validate.enable": false i dina VS Code-inställningar, det inaktiverar inte ESLINT. Jag använder både ESLINT & Flow. Följ helt enkelt instruktionerna Flow För Vs Code Setup
Lägger till den här raden i settings.json. Hjälper "javascript.validate.enable": false
Svar #3
Jag följde följande steg för att åtgärda problemet:
Gå till Inställningar och sedan till inställningar:
Efter att ha gått till inställningar, sök efter javascript.validate i sökfältet och avmarkera kryssrutan:
om du vill redigera det via json då: Gå till: Kod -> Preferenser -> Inställningar -> Tillägg -> Scrolla ner och hitta "Redigera i settings.json".
lägg sedan till
"javascript.validate.enable": false
Svar #4
För alla som hamnar här och alla de andra lösningarna inte fungerade, prova detta. Jag använder typescript + react och mitt problem var att jag associerade filerna i vscode som javascriptreact istället för typescriptreact, så kontrollera dina inställningar för följande poster.
"files.associations": {
"*.tsx": "typescriptreact",
"*.ts": "typescriptreact"
},
Kom ihåg att starta om TypeScript-servern i VS Code efter att du har sparat ändringarna: Ctrl-Shift-P -> TypeScript: Starta om TS-servern




