Skip to content

files.exclude doesn't apply to references to workspace folders outside of the current workspace folder in a multi-root workspace #6877

@MmAaXx500

Description

@MmAaXx500

Type: LanguageService

Describe the bug

  • OS and Version: Windows 10 20H2 and Debian testing
  • VS Code Version: 1.52.1
  • C/C++ Extension Version: 1.1.3
  • Other extensions you installed (and if the issue persists after disabling them): Only this extension is enabled

Steps to reproduce

  1. Download the example-workspace
  2. Open it but DO NOT open any files in them
  3. Examine the directories. You should see dir1/A, dir1/C and dir2
  4. Enable the C/C++ extension
  5. Open abc.cpp inside dir2
  6. Ctrl click on the header and it will point to the header in folder B (this folder is excluded)
  7. Examine the directories again. You should now see dir1/B among other folders

If you close all files, reopen vscode and open abc.cpp in dir1/A the IntelliSense using the correct paths (both in dir1 and dir2).

Expected behavior

The header should be pointing in any case to folder C

Logs
cpptools/didChangeCppProperties
MSVC intelliSenseMode specified.  Configuring for compiler cl.exe.
MSVC intelliSenseMode specified.  Configuring for compiler cl.exe.
  Folder: C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/ATLMFC/INCLUDE/* will be indexed
  Folder: C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/INCLUDE/* will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/CPPWINRT/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/SHARED/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UCRT/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UM/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/WINRT/ will be indexed
  Folder: E:/CODE/VSCODETEST/DIR1/ will be indexed
  Folder: E:/CODE/VSCODETEST/DIR2/ will be indexed
cpptools/didChangeCppProperties
MSVC intelliSenseMode specified.  Configuring for compiler cl.exe.
Code browsing service initialized
MSVC intelliSenseMode specified.  Configuring for compiler cl.exe.
  Folder: C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/ATLMFC/INCLUDE/* will be indexed
  Folder: C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/INCLUDE/* will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/CPPWINRT/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/SHARED/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UCRT/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UM/ will be indexed
  Folder: C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/WINRT/ will be indexed
  Folder: E:/CODE/VSCODETEST/DIR1/ will be indexed
  Folder: E:/CODE/VSCODETEST/DIR2/ will be indexed
textDocument/didOpen: file:///e%3A/Code/vscodetest/dir2/abc.cpp
Populate include completion cache.
Discovering files...
cpptools/activeDocumentChange: file:///e%3A/Code/vscodetest/dir2/abc.cpp
cpptools/resumeParsing
cpptools/textEditorSelectionChange
cpptools/getDocumentSymbols: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 2)
cpptools/getCodeActions: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 3)
cpptools/getDocumentSymbols
  tag parsing file: E:\CODE\VSCODETEST\DIR2\ABC.CPP
  Processing folder (non-recursive): C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/ATLMFC/INCLUDE
  tag parsing file: E:\CODE\VSCODETEST\DIR1\B\MAIN.H
sending compilation args for E:\CODE\VSCODETEST\DIR2\ABC.CPP
  include: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\COMMUNITY\VC\TOOLS\MSVC\14.28.29333\INCLUDE
  include: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2019\COMMUNITY\VC\TOOLS\MSVC\14.28.29333\ATLMFC\INCLUDE
  include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.18362.0\UM
  include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.18362.0\UCRT
  include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.18362.0\SHARED
  include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.18362.0\WINRT
  include: C:\PROGRAM FILES (X86)\WINDOWS KITS\10\INCLUDE\10.0.18362.0\CPPWINRT
  include: E:\CODE\VSCODETEST\DIR1\B
  define: _DEBUG
  define: UNICODE
  define: _UNICODE
  stdver: ms_c++17
  intelliSenseMode: msvc-x64
  Processing folder (non-recursive): C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/INCLUDE
Checking for syntax errors: file:///e%3A/Code/vscodetest/dir2/abc.cpp
Queueing IntelliSense update for files in translation unit of: E:\CODE\VSCODETEST\DIR2\ABC.CPP
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/CPPWINRT/
idle loop: reparsing the active document
cpptools/getFoldingRanges: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 4)
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/SHARED/
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UCRT/
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UM/
cpptools/getSemanticTokens: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 5)
cpptools/getCodeActions: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 6)
0 include path suggestion(s) discovered.
Checking for syntax errors: file:///e%3A/Code/vscodetest/dir2/abc.cpp
Queueing IntelliSense update for files in translation unit of: E:\CODE\VSCODETEST\DIR2\ABC.CPP
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/WINRT/
  Processing folder (recursive): E:/CODE/VSCODETEST/DIR1/
  Processing folder (recursive): E:/CODE/VSCODETEST/DIR2/
  Processing folder (non-recursive): C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/ATLMFC/INCLUDE
  Processing folder (non-recursive): C:/PROGRAM FILES (X86)/MICROSOFT VISUAL STUDIO/2019/COMMUNITY/VC/TOOLS/MSVC/14.28.29333/INCLUDE
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/CPPWINRT/
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/SHARED/
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UCRT/
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/UM/
  Processing folder (recursive): C:/PROGRAM FILES (X86)/WINDOWS KITS/10/INCLUDE/10.0.18362.0/WINRT/
  Processing folder (recursive): E:/CODE/VSCODETEST/DIR1/
  Processing folder (recursive): E:/CODE/VSCODETEST/DIR2/
  Discovering files: 9655 file(s) processed
  0 file(s) removed from database
Done discovering files.
Parsing remaining files...
  tag parsing file: E:\CODE\VSCODETEST\DIR1\A\ABC.CPP
  tag parsing file: E:\CODE\VSCODETEST\DIR1\C\MAIN.H
  tag parsing file: E:\CODE\VSCODETEST\DIR1\A\MAIN.CPP
  Parsing: 7 files(s) processed
Done parsing remaining files.
cpptools/finishUpdateSquiggles
Error squiggle count: 0
Update IntelliSense time (sec): 0.57
cpptools/getCodeActions: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 7)
cpptools/activeDocumentChange: file:///e%3A/Code/vscodetest/dir2/abc.cpp
cpptools/textEditorSelectionChange
idle loop: reparsing the active document
Checking for syntax errors: file:///e%3A/Code/vscodetest/dir2/abc.cpp
Queueing IntelliSense update for files in translation unit of: E:\CODE\VSCODETEST\DIR2\ABC.CPP
cpptools/finishUpdateSquiggles
Error squiggle count: 0
Update IntelliSense time (sec): 0.266
cpptools/getSemanticTokens: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 8)
Database safe to open
textDocument/hover: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 9)
textDocument/definition: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 10)
textDocument/hover: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 11)
cpptools/activeDocumentChange: file:///e%3A/Code/vscodetest/dir2/abc.cpp
cpptools/textEditorSelectionChange
textDocument/documentHighlight: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 12)
cpptools/textEditorSelectionChange
textDocument/definition: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 13)
cpptools/getCodeActions: file:///e%3A/Code/vscodetest/dir1/B/main.h (id: 14)
textDocument/didOpen: file:///e%3A/Code/vscodetest/dir1/B/main.h
Checking for syntax errors: file:///e%3A/Code/vscodetest/dir1/B/main.h
Queueing IntelliSense update for files in translation unit of: E:\CODE\VSCODETEST\DIR2\ABC.CPP
cpptools/activeDocumentChange: file:///e%3A/Code/vscodetest/dir1/B/main.h
cpptools/resumeParsing
cpptools/textEditorSelectionChange
cpptools/getDocumentSymbols: file:///e%3A/Code/vscodetest/dir1/B/main.h (id: 15)
cpptools/getDocumentSymbols
cpptools/getSemanticTokens: file:///e%3A/Code/vscodetest/dir1/B/main.h (id: 16)
cpptools/getFoldingRanges: file:///e%3A/Code/vscodetest/dir1/B/main.h (id: 17)
cpptools/finishUpdateSquiggles
Error squiggle count: 0
Error squiggle count: 0
Update IntelliSense time (sec): 0.265
cpptools/getSemanticTokens: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 18)
idle loop: reparsing the active document
Checking for syntax errors: file:///e%3A/Code/vscodetest/dir1/B/main.h
Queueing IntelliSense update for files in translation unit of: E:\CODE\VSCODETEST\DIR2\ABC.CPP
cpptools/finishUpdateSquiggles
Error squiggle count: 0
Error squiggle count: 0
Update IntelliSense time (sec): 0.27
cpptools/getSemanticTokens: file:///e%3A/Code/vscodetest/dir2/abc.cpp (id: 19)
cpptools/getSemanticTokens: file:///e%3A/Code/vscodetest/dir1/B/main.h (id: 20)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions