Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Directory iteration no longer respects files.exclude

Ouverte
#14,827 0 commentaires 0 réactions 1 personne assignée Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@Colengms y travaille déjà.

Depuis le 9/10/2026.

Évaluation

Cette issue n'a pas encore été évaluée.

Description

bug Language Service
Environment
  • OS and Version: Linux x64, Debian 13
  • VS Code Version: 1.137.0
  • C/C++ Extension Version: 1.34.4 (applies to any v1.33+, including prerelease v1.35)
  • If using SSH remote, specify OS of remote machine:
Bug Summary and Steps to Reproduce

Bug Summary:

Directory iteration seems to no longer respect files.exclude or C_Cpp.files.exclude as in #3123. This appears to be a regression introduced in v1.33, as it doesn't occur on v1.32 and earlier.

Steps to reproduce:

  1. Open a C++ project with a path that's covered by a files.exclude and/or C_Cpp.files.exclude pattern
  2. Observe that cpptools attempts to iterate and list these directories (this is obvious for us because it hits a large directory on a networked filesystem that triggers heavy CPU load, but can also confirm with strace).

Expected behavior: Excluded paths are not iterated

Configuration and Logs
Paths are sanitized/not real:

**c_cpp_properties.json**

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": ["${workspaceFolder}/**"],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}


**settings.json**

{
    "files.exclude": { "**/excluded": true },
    "C_Cpp.files.exclude": { "**/excluded": true },
    "C_Cpp.loggingLevel": "Debug"
}

Output logs

LSP: (received) cpptools/preinitialize (id: 1)
LSP: (invoked) cpptools/preinitialize (id: 1)
LSP: Sending response (id: 1)
LSP: (received) cpptools/initialize (id: 2)
LSP: (invoked) cpptools/initialize (id: 2)
cpptools version (TypeScript): 1.33.8
cpptools version (native): 1.33.7.0
Autocomplete is enabled.
Error squiggles are enabled if all header dependencies are resolved.
Hover is enabled.
IntelliSense Engine = default.
LSP: Sending response (id: 2)
LSP: (received) cpptools/queryCompilerDefaults (id: 3)
LSP: (invoked) cpptools/queryCompilerDefaults (id: 3)
Querying compiler for default C++ language standard using command line: /path/to/user-default/gcc -x c++ -E -dM /dev/null
Detected language standard version: gnu++17
Querying compiler's default target using command line: "/path/to/user-default/gcc" -dumpmachine
Compiler returned default target value: x86_64-linux-gnu
Compiler info database not connected - skipping load.
Compiler query command line: /path/to/user-default/gcc -std=c17 -m64 -Wp,-v -E -dM -x c /dev/null
Attempting to get defaults from C compiler in "compilerPath" property: '/path/to/user-default/gcc'
Compiler info database not connected - skipping load.
Compiler query command line: /path/to/user-default/gcc -std=gnu++17 -m64 -Wp,-v -E -dM -x c++ /dev/null
Attempting to get defaults from C++ compiler in "compilerPath" property: '/path/to/user-default/gcc'
LSP: Sending response (id: 3)
Processed c_cpp_properties.json in 0.00294839s
LSP: (received) cpptools/didChangeCppProperties
LSP: (invoked) cpptools/didChangeCppProperties
Compiler info database not connected - skipping load.
Querying compiler for default C++ language standard using command line: /usr/bin/gcc -x c++ -E -dM /dev/null
Compiler info database not connected - skipping load.
Detected language standard version: gnu++17
Querying compiler's default target using command line: "/usr/bin/gcc" -dumpmachine
Compiler returned default target value: x86_64-linux-gnu
Compiler query command line: /usr/bin/gcc -std=c17 -m64 -Wp,-v -E -dM -x c /dev/null
Compiler query command line: /usr/bin/gcc -std=c++17 -m64 -Wp,-v -E -dM -x c++ /dev/null
Attempting to get defaults from C compiler in "compilerPath" property: '/usr/bin/gcc'
Attempting to get defaults from C++ compiler in "compilerPath" property: '/usr/bin/gcc'
  Folder: /usr/include will be indexed
  Folder: /usr/include/c++/14 will be indexed
  Folder: /usr/include/c++/14/backward will be indexed
  Folder: /usr/include/x86_64-linux-gnu will be indexed
  Folder: /usr/include/x86_64-linux-gnu/c++/14 will be indexed
  Folder: /usr/lib/gcc/x86_64-linux-gnu/14/include will be indexed
  Folder: /usr/local/include will be indexed
  Folder: /home/user/repro will be indexed
Opening code store: /home/user/.cache/vscode-cpptools/-1252e761/.browse.VC.db
Code browsing service initialized
Unified Store: Files Initialized (completed)
Done parsing remaining files.
Unified Store: Configuration Initialized (completed)
Done parsing remaining files.

selected strace output

open("/home/user/repro", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 17</home/user/repro>
open("/home/user/repro/.vscode", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 17</home/user/repro/.vscode>
open("/home/user/repro/excluded", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 18</home/user/repro/excluded>
open("/home/user/repro/src", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 17</home/user/repro/src>
open("/home/user/repro/excluded/a", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 19</home/user/repro/excluded/a>
open("/home/user/repro/excluded/a/b", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 19</home/user/repro/excluded/a/b>
open("/home/user/repro/excluded/a/b/c", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 19</home/user/repro/excluded/a/b/c>
open("/home/user/repro/src/", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 21</home/user/repro/src>
open("/home/user/repro/", O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_DIRECTORY) = 21</home/user/repro>


### Other Extensions

_No response_

### Additional context

_No response_
Langage dominant
TypeScript
Étoiles
6.2k
Forks
1.7k
Merge moyen
1 j 22 h
PR mergées (30 j)
35

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de microsoft/vscode-cpptools

Toutes les issues de microsoft/vscode-cpptools

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.