Hi,
Most likely either you modify some global header file used by all other headers, or VisualGDB believes it is modified and does a full rebuild.
Please try opening the Clang IntelliSense Diagnostics Console and check for messages like thi:
[+0:00:33.084] Found an outdated PSF 0 due to <file> during initial check. It will be re-built
It should explain why VisualGDB reparses the files.
The Error List behavior is by design – showing all errors from the entire project would require constantly rebuilding all the files in the background. Currently VisualGDB only does that when you use the ‘Go to definition’ or ‘Find all references’ commands.