实验证明,如果target_include_directories使用了generator expression则VSCode的Intellisense就抓瞎了。
解决方案:
1.把generator expression改成直接路径
2.不用Conan的find_package_multi,改成find_package
3.如果需要编译不同版本,又想不用generator expression,就应该用VSCode CMake Tools中的variants功能,本质上它将multi-config的生成器转换为single-config生成器,换言之,即使使用MSBuild等,CMAKE_BUILD_TYPE也有效。只需在cmake-variants.json里面设置即可。