前提環境
- Windows 10
- Visual Studio Code (VSC)でcppコードを書く
- VSC内でTerminalを開くとWSLになっているように設定済み
- g++でコンパイル
なくてもコンパイルは通る
- 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を置く。ファイルは、
結果
インテリセンスが効きやすくなった
追記:より永続的な場所に置く
- 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をこのように書いたら、インテリセンスが効く
- includePathに注目
- compilerPathは間違っているがVisual Studioのコンパイラは使っていないので問題なし
{ "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 }