Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Directory iteration no longer respects files.exclude

Đang mở
#14,827 0 bình luận 0 reaction 1 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@Colengms đang làm issue này rồi.

Từ ngày 9/10/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

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_
Ngôn ngữ chính
TypeScript
Star
6.2k
Fork
1.7k
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
35

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/vscode-cpptools

Tất cả issue của microsoft/vscode-cpptools

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.