Visual Studio Codeにbits/stdc++.hを認識させる

前提環境

なくてもコンパイルは通る

  • WSLではincludeパスが通っているのであろう、コンパイルは通る
  • しかし、VSC側で
#include<bits/stdc++.h>
  • に波線表示。これのせいで他のインテリセンスも効きづらい

VSC内のc_cpp_properties.jsonに追記

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/include/bits/*"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.16299.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}
  • include/bitsと書いてる箇所が追記したところ

実際に配置

  • そのパスに実際にbitsフォルダを作り、stdc++.hを置く。ファイルは、

stdc++.h · GitHub

結果

インテリセンスが効きやすくなった

追記:より永続的な場所に置く

  • 2021/11/13
  • Visual Studio 2019に移行したのでVisual Studio 2017をアンインストールしたらインテリセンスが効かなくなった。ファイルが無くなったので当然
  • これからもVisual Studioは更新していくだろうから、永続的なところにinclude系を置きたい
  • C:\Program Files (x86)\Microsoft Visual Studio\2999\include\bits\stdc++.h
  • C:\Program Files (x86)\Microsoft Visual Studio\2999\include\atcoder\convolution.hpp などACL系全部(ACLを使う場合)
  • のように置き、Visual Studio Codeのc_cpp_properties.jsonをこのように書いたら、インテリセンスが効く
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/Program Files (x86)/Microsoft Visual Studio/2999/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.16299.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "msvc-x64"
        }
    ],
    "version": 4
}