Visual Studio Codeは現在 .8バージョンでJSXをサポート ですが、それをアクティブにする唯一の方法は.jsx
ファイル拡張子を使用することです。言語モードを手動で変更することはリストにありません。最も近いオプションはJavaScriptReact
ですが、JSXタグを解析しません。
JSXで.js
ファイルがたくさんあるプロジェクトに参加していますが、変更することはできません。
.jsx
拡張なしでJSX構文を使用する他の方法はありますか?
ユーザー設定またはワークスペース設定を次のように変更します。
// Place your settings in this file to overwrite the default settings
{
"files.associations": {
"*.js": "javascriptreact"
}
}
注:VSCodeの再起動が必要になる場合があります。
できますが、JavaScriptReactモードでは「React JSファイルではない」も表示されます。
これを理解するのにしばらく時間がかかりましたが、JSXはすでにVS Codeの一部であるEmmetの一部です。 Emmetに、(追加として)JSXスニペットを通常のJSファイルでも利用可能にするように言いました。
設定ファイルにこれを入れてください:
"emmet.syntaxProfiles": {
"javascript": "jsx"
}
Dionysの答えは機能しますが、Visual Studio Codeの最新バージョンではこれを行うより良い方法があります。
File>Prefrences>Settings
に移動し、下にスクロールして[Emmet]を見つけてタブを開くと、次のテキストが表示されます。
// Enable Emmet abbreviations in languages that are not supported by default. Add a
mapping here between the language and emmet supported language.
// E.g.: {"vue-html": "html", "javascript": "javascriptreact"}
"emmet.includeLanguages": {},
そのため、指示に従って"emmet.includeLanguages": { "javascript": "javascriptreact" }
を右パネルのjsonに追加します(ユーザー設定を上書きします)。
現在、 VSコード拡張により、.js
ファイルを.jsx
ファイルとして扱うことができます があります。
残念ながら、拡張機能のreadmeも警告しています:
この拡張機能をインストールすると、.jsファイルに提供されている既存の言語サポートがすべて失われます
幸い、VS Codeは Salsaを採用 に非常に近くなりました。つまり、js-is-jsxの問題はすぐに完全に解決されるはずです。