VSCode中的可选链接运算符支持

时间:2018-08-08 07:52:28

标签: react-native visual-studio-code babeljs

React Native 0.56提供对Optional Chaining Operator?.的原生支持

但是,最新的VS Code稳定版本无法识别此语法并引发TypeScript验证错误:

[ts] Expression expected.

而没有引发任何compli-time或eslint错误。

我该如何解决?☹️

5 个答案:

答案 0 :(得分:28)

JavaScript和TypeScript文件中的

VS Code 1.41 supports optional chaining。该支持包括语法突出显示和IntelliSense。

如果您使用的是VS Code 1.41+,并且可选链接无法正常工作,请尝试:

  • 检查已安装的扩展。他们中的某些人可能还不了解可选链接,这可能会导致错误或语法突出显示错误

  • 如果您是using a workspace typescript version,请确保它是TypeScript 3.7 +

答案 1 :(得分:11)

您可以安装JavaScript and TypeScript Nightly,然后重新打开VSCode。

答案 2 :(得分:1)

我刚刚解决了在vscode json设置中禁用js / ts验证的问题:

"javascript.validate.enable": false

您需要安装eslint-plugin-babel来遵守eslint规则。

{
  "plugins": [
    "babel"
  ],
  "rules": {
    "babel/new-cap": 1,
    "babel/camelcase": 1,
    "babel/no-invalid-this": 1,
    "babel/object-curly-spacing": 1,
    "babel/quotes": 1,
    "babel/semi": 1,
    "babel/no-unused-expressions": 1,
    "babel/valid-typeof": 1
  }
}

答案 3 :(得分:1)

在卸载扩展JavaScript and TypeScript IntelliSense

之前,这种情况一直在我身上发生

是的,如果仍然存在此问题,请检查卸载旧插件。您也可以尝试使用vscode insiders版本,并检查该版本是否在该版本中有效。它对我有效,无需进行任何更改。

答案 4 :(得分:1)

我的情况,我需要将 "tslint-config-prettier" 添加到 tslint.json 文件

这是我的 tslint.json 文件

{
  "defaultSeverity": "error",
  "extends": [
    "tslint:recommended",
    "tslint-config-prettier"  # ----> This line
  ],
  "jsRules": {},
  "rules": {
    "semicolon": false,
    "quotemark": [true, "single"],
    "prefer-for-of": false,
    "object-literal-sort-keys": false,
    "ordered-imports": false,
    "interface-name": false,
    "callable-types": false,
    "no-console": false,
    "no-bitwise": false,
    "variable-name": [
      true,
      "allow-leading-underscore",
      "allow-snake-case"
    ]
  },
  "rulesDirectory": []
}