Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Directory iteration no longer respects files.exclude

未關閉
#14,827 0 則留言 0 個 reaction 已指派 1 人 在 GitHub 檢視

維護者通常 1 天內回覆

@Colengms 已經在處理了。

開始於 2026年10月9日。

評估

這個 Issue 還沒有評估資料。

描述

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_
主要語言
TypeScript
星號
6.2k
分支
1.7k
平均合併
1 天 22 小時
30 天內合併 PR
33

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

microsoft/vscode-cpptools 的其他 Issue

查看 microsoft/vscode-cpptools 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。