web-dev-qa-db-ja.com

VSCodeでのオプションの連鎖演算子のサポート

React Native 0.56は、Optional Chaining Operator、つまり?.のネイティブサポートを提供します

ただし、VS Codeの最新の安定版リリースでは、この構文を認識できず、TypeScript検証エラーがスローされます。

[ts] Expression expected.

一方、コンパイル時エラーまたはエスリントエラーはスローされませんでした。

どうすれば修正できますか?


2019/12/11の更新:

オプションの連鎖は、3.7以降、TypeScriptによって正式にサポートされています。 ????

それでもこのエラーが発生する場合は、VSCodeに付属するTypeScript libが3.7未満である可能性があります。

TypeScriptの最新バージョン(> = 3.7)をワークスペースにインストールするだけで修正できます。 (開発担当者としてのnpmまたは糸による)

次に、コマンドパレットを開き、tstvと入力して、JSおよびTS機能に使用するTypeScriptバージョンを切り替えますVS Code'sバージョンワークスペースのバージョン(それが> = 3.7であることを確認してください)と出来上がり!

これは間違いなく素晴らしい機能です。みなさんとハッキングをありがとう!

39
kirkcola

VS Code 1.41 オプションのチェーンをサポート JavaScriptファイルとTypeScriptファイルの両方で。このサポートには、構文の強調表示とIntelliSenseが含まれます。

VS Code 1.41+を使用していて、オプションのチェーンが期待どおりに機能しない場合は、以下を試してください。

  • インストールされている拡張機能を確認します。それらの一部は、オプションの連鎖をまだ理解していない可能性があり、エラーまたは不適切な構文強調表示を引き起こす可能性があります

  • ワークスペースTypeScriptバージョンを使用 の場合、それがTypeScript 3.7+であることを確認してください

36
Matt Bierner

JavaScriptおよびTypeScript Nightly をインストールしてから、VSCodeを再度開きます。

12
icbbetter

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
  }
}
1
yotke

拡張機能 JavaScriptおよびTypeScript IntelliSense をアンインストールするまで、これは私にも起こりました。

ですから、この問題が引き続き発生する場合は、古いプラグインのアンインストールを確認してください。 vscode insiders バージョンを試して、これがそのバージョンで機能するかどうかを確認することもできます。変更を加えることなく機能しました。

0
DarkCrazy