VS Code behandlar JavaScript-filer som Typescript


Jag har nyligen börjat använda Typescript och jag har använt det i ett par dagar, allt fungerar bra (Emmet, lintning etc...), men när jag öppnar mina gamla projekt som är skrivna i JavaScript, ger VS Code mig varningar och fel om typning och saker relaterade till Typescript. På något sätt kan VS Code inte känna igen att jag använder JavaScript.

PS. jag arbetar på ett Vue (Nuxt) projekt och Vetur-plugin hanterar syntaxmarkering, linting etc...

fel exempel: 'modifyHtml' deklareras men dess värde används aldrig.ts(6133)

Egenskapen ''$store'' finns inte på typen ''CombinedVueInstance<Record<never, any> & Vue, object, object, object, Record<never, any>>'.Vetur(2339)

Detta är min settings.js:

    {
  "workbench.iconTheme": "material-icon-theme",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "liveServer.settings.donotShowInfoMsg": true,
  "editor.linkedEditing": true,
  "liveServer.settings.donotVerifyTags": true,
  "explorer.confirmDelete": false,
  "explorer.confirmDragAndDrop": false,
  "eslint.format.enable": true,
  "emmet.includeLanguages": {
    "javascript": "javascriptreact",
    "vue-html": "html",
    "vue-css": "css",
    "razor": "html",
    "plaintext": "jade"
  },
  "emmet.excludeLanguages": ["markdown"],
  "[dart]": {
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    "editor.selectionHighlight": false,
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    "editor.suggestSelection": "first",
    "editor.tabCompletion": "onlySnippets",
    "editor.wordBasedSuggestions": false
  },
  "git.confirmSync": false,
  "javascript.updateImportsOnFileMove.enabled": "always",
  "nativescript.analytics.enabled": true,
  "editor.suggestSelection": "first",
  "vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
  "java.configuration.checkProjectSettingsExclusions": false,
  "sonarlint.rules": {
    "java:S106": {
      "level": "off"
    },
    "javascript:S1117": {
      "level": "off"
    }
  },
  "workbench.preferredDarkColorTheme": "GitHub Dark",
  "workbench.preferredHighContrastColorTheme": "GitHub Dark",
  "workbench.preferredLightColorTheme": "Visual Studio Dark",
  "[json]": {
    "editor.quickSuggestions": {
      "strings": true
    },
    "editor.suggest.insertMode": "replace"
  },
  "files.autoSave": "afterDelay",
  "typescript.updateImportsOnFileMove.enabled": "always",
  "vetur.experimental.templateInterpolationService": true,
  "cSpell.userWords": ["vuex"],
  "workbench.colorTheme": "GitHub Dark",
  "vetur.format.defaultFormatterOptions": {
    "js-beautify-html": {
      "wrap_attributes": "force-expand-multiline"
    },
    "prettyhtml": {
      "printWidth": 100,
      "singleQuote": false,
      "wrapAttributes": false,
      "sortAttributes": false
    }
  },
  "files.associations": {
    "*.vue": "vue"
  },
  "eslint.validate": ["javascript", "javascriptreact", "vue"],
  "vetur.grammar.customBlocks": {
    "docs": "md",
    "i18n": "json"
  },
  "window.zoomLevel": -1,
  "json.schemas": []
}

Svar #1

Jag tror att jag hade samma problem. Det tog mig ett tag att lista ut det, men jag tror att jag har det. För att inaktivera typkontroll för JavaScript-filer, lägg till checkJs: false i compilerOptions-avsnittet i din jsconfig.json i projektets rotkatalog.

Detta är min jsconfig.json:

{
    "include": ["./src/**/*"],
    "compilerOptions": {
        "checkJs": false
    }
}

Svar #2

om du har tslint, försök att inaktivera det. Det kan lösa problemet, ibland uppstår dessa fel även i eslint

Relaterade artiklar