microsoft / microsoft/vscode-cpptools

IntelliSense gets stuck on Parsing workspace files, usually between 20% to 40%.

Open
#12,830 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Language Service performance Visual Studio
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

Environment
  • OS and Version: Windows 11 [10.0.22631.4317]
  • VS Code Version: 1.94.0, 1.94.2 (tested both)
  • C/C++ Extension Version: 1.21.6
Bug Summary and Steps to Reproduce

Bug Summary:

I created a simple project to try the Tracy profiler (https://github.com/wolfpld/tracy).

  • Tracy added as a submodule
  • Created a Makefile with one target and two source files: main.cpp and TracyProfiler.cpp
  • The compiler is MSVC, and VSCode is launched through the Developer Command Prompt for VS 2022
  • The Makefile Tools extension is used as the configuration provider, but disabling it makes no noticeable difference

Steps to Reproduce:

  1. Start VSCode and open my workspace
  2. IntelliSense begins parsing, and I can see it becoming active as I follow the paths
  3. It gets stuck halfway through (or earlier; it's random) and becomes unresponsive

Image

My project files (without tracy repo)
tracy-test.zip

Full logs
logs.zip

Expected Behavior:

IntelliSense should successfully finish parsing and continue working as expected.

Configuration and Logs

-------- Diagnostics - 10/10/2024, 9:54:32 PM
Version: 1.21.6
Current Configuration:
{
"name": "Win32",
"includePath": [
"c:/Developement/tracy-test/",
"c:/Developement/tracy-test/tracy/public/tracy/
"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"compilerPathInCppPropertiesJson": "cl.exe",
"intelliSenseMode": "msvc-x64",
"intelliSenseModeIsExplicit": true,
"cStandardIsExplicit": false,
"cppStandardIsExplicit": false,
"mergeConfigurations": true,
"compilerPathIsExplicit": false,
"configurationProvider": "ms-vscode.makefile-tools",
"browse": {
"path": [
"c:/Developement/tracy-test/",
"c:/Developement/tracy-test/tracy/public/tracy/
",
"${workspaceFolder}"
],
"limitSymbolsToIncludedHeaders": true
}
}
cpptools version (native): 1.21.6.0
Translation Unit Mappings:
[ C:\Developement\tracy-test\main.cpp - source TU]:
Translation Unit Configurations:
[ C:\Developement\tracy-test\main.cpp ]:
Process ID: 10752
Memory Usage: 167 MB
Compiler Path: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\bin\Hostx64\x64\cl.exe
Includes:
C:\Developement\tracy-test
C:\Developement\tracy-test\tracy\public\tracy
System Includes:
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\include
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\atlmfc\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt
Defines:
TRACY_ENABLE
_DEBUG
UNICODE
_UNICODE
Standard Version: ms_c++17
IntelliSense Mode: windows-msvc-x64
Total Memory Usage: 167 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 5293

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the workspace-parsing hang with the attached tracy-test.zip project and inspect the attached logs.zip, using the reported configuration and diagnostics as a baseline. Done means IntelliSense completes parsing instead of becoming unresponsive between roughly 20% and 40%.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.