Skip to content

Under Remote-SSH, cpptools is causing the whole vscode interface to be laggy. #14211

@kuroa-me

Description

@kuroa-me

Environment

  • OS and Version: MacOS 26.3 (25D125)
  • VS Code Version: 1.109.5 (Universal)
  • C/C++ Extension Version: 1.30.5
  • If using SSH remote, specify OS of remote machine: Debian 6.12.73-1 (2026-02-17) x86_64 GNU/Linux

Bug Summary and Steps to Reproduce

Bug Summary:
The whole UI is laggy after click anywhere in an opened C file or terminal, feels like the frontend is blocked by the cpptools. Disabling the cpptools or open a workspace without C/C++ files make the lag go away.
My guess is the LSP communication is causing the problem.

Steps to reproduce:

  1. Open any workspace through remote-ssh that have C file.
  2. Open the C file.
  3. Click anywhere in the main editor area or terminal.
  4. Whole UI stops responding.

Expected behavior:
Work without lag.

Configuration and Logs

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "forcedInclude": [
                "${workspaceFolder}/ebpf/ebpf.c"
            ],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-clang-x64",
            "configurationProvider": "ms-vscode.makefile-tools",
            "defines": [
                "_GNU_SOURCE"
            ]
        }
    ],
    "version": 4
}

C/C++: Log Diagnostics

-------- Diagnostics - 2/24/2026, 12:55:31 PM
Version: 1.30.5
Current Configuration:
{
    "name": "Linux",
    "includePath": [
        "/home/kuro/Repositio/udpgrm/**"
    ],
    "forcedInclude": [
        "/home/kuro/Repositio/udpgrm/ebpf/ebpf.c"
    ],
    "compilerPath": "/usr/bin/clang",
    "cStandard": "c17",
    "cppStandard": "c++17",
    "intelliSenseMode": "linux-clang-x64",
    "configurationProvider": "ms-vscode.makefile-tools",
    "defines": [
        "_GNU_SOURCE"
    ],
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "recursiveIncludesReduceIsExplicit": false,
    "recursiveIncludesPriorityIsExplicit": false,
    "recursiveIncludesOrderIsExplicit": false,
    "compilerPathInCppPropertiesJson": "/usr/bin/clang",
    "configurationProviderInCppPropertiesJson": "ms-vscode.makefile-tools",
    "mergeConfigurations": false,
    "recursiveIncludes": {},
    "browse": {
        "limitSymbolsToIncludedHeaders": true
    }
}
Modified Settings:
{
    "C_Cpp.clang_format_fallbackStyle": "Google",
    "C_Cpp.clang_format_sortIncludes": false,
    "C_Cpp.loggingLevel": "Debug"
}
Additional Tracked Settings:
{
    "editorTabSize": 4,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "never",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "*.conf": "properties"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
Custom browse configuration: 
{
    "browsePath": [
        "/home/kuro/Repositio/udpgrm/arch/x86_64/include",
        "/home/kuro/Repositio/udpgrm/ebpf",
        "/home/kuro/Repositio/udpgrm/src",
        "/home/kuro/Repositio/udpgrm/tools"
    ],
    "compilerPath": "/usr/bin/clang-19",
    "windowsSdkVersion": "",
    "compilerArgsLegacy": [
        "-target",
        "x86_64-pc-linux-gnu",
        "-g",
        "-O2",
        "-Wall",
        "-Wextra",
        "-fno-omit-frame-pointer",
        "-lsystemd",
        "-o",
        "mmdecoy"
    ]
}
cpptools version (native): 1.30.5.0
Current database path: /home/kuro/.cache/vscode-cpptools/c2e7ec820f6d20de55621c9b04709ee1/.browse.VC.db
Translation Unit Mappings:
[ /home/kuro/Repositio/udpgrm/ebpf/ebpf.c - source TU]:
    /home/kuro/Repositio/udpgrm/include/udpgrm.h
Translation Unit Configurations:
[ /home/kuro/Repositio/udpgrm/ebpf/ebpf.c ]
    Process ID: 23158
    Memory Usage: 35 MB
    Compiler Path: /usr/bin/clang-19
    Include paths:
        include: /home/kuro/Repositio/udpgrm/arch/x86_64/include
        system include: /usr/local/include
        system include: /usr/lib/llvm-19/lib/clang/19/include
        system include: /usr/include
    Standard Version: c17
    IntelliSense Mode: linux-clang-x64
    Other Flags:
        --clang
        --clang_version=190107
Total Memory Usage: 35 MB

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


the language server logging

Populating file name cache...
LSP: Sending response (id: 19)
Done populating filename cache. Elapsed time: 26 ms
LSP: Sending response (id: 20)
LSP: (received) textDocument/didClose: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h
LSP: (invoked) textDocument/didClose: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h
LSP: (received) textDocument/didOpen: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h
LSP: (received) cpptools/didChangeVisibleTextEditors
LSP: (invoked) textDocument/didOpen: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h
LSP: (received) cpptools/getCodeActions: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 21)
LSP: (invoked) cpptools/didChangeVisibleTextEditors
Intellisense update pending for: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h
LSP: (invoked) cpptools/getCodeActions: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 21)
LSP: Sending response (id: 21)
IntelliSense update scheduled and TU acquisition started for: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h
LSP: (received) cpptools/getFoldingRanges: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 22)
LSP: (invoked) cpptools/getFoldingRanges: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 22)
LSP: Sending response (id: 22)
Update IntelliSense time (sec): 0.014
LSP: (received) cpptools/getFoldingRanges: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 23)
LSP: (invoked) cpptools/getFoldingRanges: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 23)
LSP: Sending response (id: 23)
LSP: (received) cpptools/getFoldingRanges: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 24)
LSP: (invoked) cpptools/getFoldingRanges: file:///home/kuro/Repositio/udpgrm/include/udpgrm.h (id: 24)
LSP: Sending response (id: 24)

Other Extensions

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions