Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Directory iteration no longer respects files.exclude

Abierto
#14,827 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@Colengms ya está trabajando en esto.

Desde el 9/10/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

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_
Lenguaje dominante
TypeScript
Estrellas
6.2k
Forks
1.7k
Merge medio
1 d 23 h
PR fusionados (30 d)
34

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/vscode-cpptools

Todos los issues de microsoft/vscode-cpptools

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.