現象
2024年3月の頭ごろVSCodeにアップデートがありました。それ以降、C++拡張のIntelliSenseの調子が悪いという現象が起きていました。勝手に改悪するのやめてくれないかな
具体的には、私の環境では、最初は普通に動くのですが、しばらく作業してるとIntelliSenseが効かなくなる(変数の色分けがされなくなる・エディタ上で検出されたコンパイルエラーがコードを書き換えても更新されない)という症状が出ました。さらに、この状態でセーブしようとするとformatOnSaveで走るformat処理が無限に終わらず、formatをキャンセルしなければセーブもできない状態になってしまっていました。
これらの症状はwindowを開きなおすと解消していましたが、数分後には再現してしまいとても作業に支障をきたしていました。
まったく同様の症状かは不明ですが、X上での競プロのコミュニティではIntelliSenseの不調を感じている人が私以外にも複数存在します。
環境
何が影響しているのかわからないので大きなところだけ書きます。
VSCode : version 1.87.1
C/C++拡張 : version 1.19.6
マシンのosはwindows11ですが、WSL2でUbuntuの仮想環境を作ってそこにVSCodeでリモート接続しています。
c_cpp_properties.json
の内容を載せておきます。競プロ用のライブラリがincludePath
に含まれている以外は普通の環境だと思われます。このライブラリも大したサイズではありません。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/*",
"/hoge/proCon/acl"
],
"defines": [
"LOCAL",
"DEBUG"
],
"compilerPath": "/usr/bin/gcc",
"cStandard": "gnu17",
"cppStandard": "gnu++23",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
解消した?
結論として、私の環境ではC/C++拡張のversionを1.19.6
から1.18.5
にダウングレードすることで上記の症状は出なくなりました。X上でも改善したという声があるので、困っている方は試してみたらいいかもしれません。
このissueを参考にしました。
最後に
間に合わせの対策に過ぎないので、あんまり信用しないでください...
この件についてなにか根本的な原因をご存じの方いたら教えてほしいです。