Use test.cpp ``` #include <string> int main() { std::string s; } ``` with some compile_commands.json like ``` [ { "directory": "<dir>", "command": "C:\\PROGRA~2\\MICROS~3\\2017\\ENTERP~1\\VC\\Tools\\MSVC\\1416~1.270\\bin\\Hostx86\\x86\\cl.exe -c sub.cpp", "file": "sub.cpp" } ] ``` Then use Go to Definition on std::string. Bug: The TU for xstring gets opened as a header only fallback instead of using the existing TU for sub.cpp. This bug doesn't repro when using the CMake Tools configurationProvider. Bug2 in https://github.com/microsoft/vscode-cpptools/issues/5506 is related.