Add support for clang-cl behavior for `/external:I`
@Colengms đang làm issue này rồi.
Từ ngày 12/2/2026.
Đánh giá
Issue này chưa được đánh giá.
Mô tả
Environment
- OS and Version: Windows 10
- VS Code Version: 1.109.2
- C/C++ Extension Version: 1.30.5
Bug Summary
/external:I in compilerArgs for MSVC are not treated as system include directories as shown in C/C++ Diagnostic:
Include paths:
include: C:\tmp\.vscode
But for clang++ -isystem, it is correctly detected as system include:
Include paths:
system include (isystem): C:\tmp\.vscode
clang-cl -imsvc as well:
Include paths:
system include: C:\Program Files\LLVM\lib\clang\21\include
system include: C:\tmp\.vscode
Configuration and Logs
C/C++ Diagnostic for MSVC /external:I
-------- Diagnostics - 2026/2/13 00:47:56
Version: 1.30.5
Current Configuration:
{
"name": "Test",
"intelliSenseMode": "windows-msvc-x64",
"compilerArgs": [
"/external:I${workspaceFolder}/.vscode"
],
"compilerPathIsExplicit": false,
"cStandardIsExplicit": false,
"cppStandardIsExplicit": false,
"intelliSenseModeIsExplicit": true,
"recursiveIncludesReduceIsExplicit": false,
"recursiveIncludesPriorityIsExplicit": false,
"recursiveIncludesOrderIsExplicit": false,
"windowsSdkVersion": "10.0.26100.0",
"cStandard": "c17",
"cppStandard": "c++17",
"mergeConfigurations": false,
"recursiveIncludes": {},
"compilerPath": "C:\\Program Files\\Microsoft Visual Studio\\18\\Enterprise\\VC\\Tools\\MSVC\\14.50.35717\\bin\\Hostx64\\x64\\cl.exe",
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
Additional Tracked Settings:
{
"editorTabSize": 4,
"editorInsertSpaces": true,
"editorAutoClosingBrackets": "languageDefined",
"filesEncoding": "utf8",
"filesAssociations": {},
"filesExclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
},
"filesAutoSaveAfterDelay": false,
"editorInlayHintsEnabled": true,
"editorParameterHintsEnabled": true,
"searchExclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/*.code-search": true
},
"workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.30.5.0
Current database path: C:\USERS\HUANGQINJIN\APPDATA\LOCAL\MICROSOFT\VSCODE-CPPTOOLS\90D20250051651E1D809C1C7E0C52070\.BROWSE.VC.DB
Translation Unit Mappings:
[ C:\tmp\main.cpp - source TU]:
Translation Unit Configurations:
[ C:\tmp\main.cpp ]
Process ID: 2948
Memory Usage: 50 MB
Compiler Path: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\cl.exe
Include paths:
include: C:\tmp\.vscode
system include: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\include
system include: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\atlmfc\include
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
Standard Version: ms_c++17
IntelliSense Mode: windows-msvc-x64
Total Memory Usage: 50 MB
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 5348
C/C++ Diagnostic for clang++ -isystem
-------- Diagnostics - 2026/2/13 00:52:26
Version: 1.30.5
Current Configuration:
{
"name": "Test",
"compilerPath": "C:\\Program Files\\LLVM\\bin\\clang++.exe",
"compilerArgs": [
"-isystem${workspaceFolder}/.vscode"
],
"compilerPathIsExplicit": true,
"cStandardIsExplicit": false,
"cppStandardIsExplicit": false,
"intelliSenseModeIsExplicit": false,
"recursiveIncludesReduceIsExplicit": false,
"recursiveIncludesPriorityIsExplicit": false,
"recursiveIncludesOrderIsExplicit": false,
"compilerPathInCppPropertiesJson": "C:\\Program Files\\LLVM\\bin\\clang++.exe",
"mergeConfigurations": false,
"recursiveIncludes": {},
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
Additional Tracked Settings:
{
"editorTabSize": 4,
"editorInsertSpaces": true,
"editorAutoClosingBrackets": "languageDefined",
"filesEncoding": "utf8",
"filesAssociations": {},
"filesExclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
},
"filesAutoSaveAfterDelay": false,
"editorInlayHintsEnabled": true,
"editorParameterHintsEnabled": true,
"searchExclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/*.code-search": true
},
"workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.30.5.0
Current database path: C:\USERS\HUANGQINJIN\APPDATA\LOCAL\MICROSOFT\VSCODE-CPPTOOLS\90D20250051651E1D809C1C7E0C52070\.BROWSE.VC.DB
Translation Unit Mappings:
[ C:\tmp\main.cpp - source TU]:
Translation Unit Configurations:
[ C:\tmp\main.cpp ]
Process ID: 15408
Memory Usage: 51 MB
Compiler Path: C:\Program Files\LLVM\bin\clang++.exe
Include paths:
system include (isystem): C:\tmp\.vscode
system include: C:\Program Files\LLVM\lib\clang\21\include
system include: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\include
system include: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\atlmfc\include
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
Standard Version: c++14
IntelliSense Mode: windows-clang-x64
Other Flags:
--clang
--clang_version=210108
--ms_compatibility
Total Memory Usage: 51 MB
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 6459
Number of files parsed: 1
C/C++ Diagnostic for clang-cl -imsvc
-------- Diagnostics - 2026/2/13 00:53:17
Version: 1.30.5
Current Configuration:
{
"name": "Test",
"compilerPath": "C:\\Program Files\\LLVM\\bin\\clang-cl.exe",
"compilerArgs": [
"-imsvc${workspaceFolder}/.vscode"
],
"compilerPathIsExplicit": true,
"cStandardIsExplicit": false,
"cppStandardIsExplicit": false,
"intelliSenseModeIsExplicit": false,
"recursiveIncludesReduceIsExplicit": false,
"recursiveIncludesPriorityIsExplicit": false,
"recursiveIncludesOrderIsExplicit": false,
"compilerPathInCppPropertiesJson": "C:\\Program Files\\LLVM\\bin\\clang-cl.exe",
"mergeConfigurations": false,
"recursiveIncludes": {},
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
Additional Tracked Settings:
{
"editorTabSize": 4,
"editorInsertSpaces": true,
"editorAutoClosingBrackets": "languageDefined",
"filesEncoding": "utf8",
"filesAssociations": {},
"filesExclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true,
"**/.classpath": true,
"**/.project": true,
"**/.settings": true,
"**/.factorypath": true
},
"filesAutoSaveAfterDelay": false,
"editorInlayHintsEnabled": true,
"editorParameterHintsEnabled": true,
"searchExclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/*.code-search": true
},
"workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.30.5.0
Current database path: C:\USERS\HUANGQINJIN\APPDATA\LOCAL\MICROSOFT\VSCODE-CPPTOOLS\90D20250051651E1D809C1C7E0C52070\.BROWSE.VC.DB
Translation Unit Mappings:
[ C:\tmp\main.cpp - source TU]:
Translation Unit Configurations:
[ C:\tmp\main.cpp ]
Process ID: 24416
Memory Usage: 51 MB
Compiler Path: C:\Program Files\LLVM\bin\clang-cl.exe
Include paths:
system include: C:\Program Files\LLVM\lib\clang\21\include
system include: C:\tmp\.vscode
system include: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\include
system include: C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Tools\MSVC\14.50.35717\atlmfc\include
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\um
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\winrt
system include: C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\cppwinrt
Standard Version: c++14
IntelliSense Mode: windows-clang-x64
Other Flags:
--clang
--clang_version=210108
--ms_compatibility
Total Memory Usage: 51 MB
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 6459
Number of files parsed: 1
- Ngôn ngữ chính
- TypeScript
- Star
- 6.2k
- Fork
- 1.7k
- Merge trung bình
- 1 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 58
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/vscode-cpptools
-
bug Language Service regression
microsoft/vscode-cpptools#14795 · 1 bình luận · 1 người được giao ·
-
bug Language Service parser
microsoft/vscode-cpptools#14794 · 1 bình luận · 1 người được giao ·
-
more info needed
microsoft/vscode-cpptools#14793 · 2 bình luận · 1 người được giao ·
-
more info needed
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
microsoft/vscode-cpptools#14787 · 1 bình luận · 1 người được giao ·
-
[Bug] cpptools fails to start on Ubuntu ARM64 due to missing execute permissions on shared libraries Đang mởbug fixed Language Service regression
microsoft/vscode-cpptools#14779 · 1 bình luận · 1 người được giao ·
Tất cả issue của microsoft/vscode-cpptools
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
mksglu/context-mode#1200 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
anthropics/claude-code#96687 ·
-
good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
AOSSIE-Org/DebateAI#582 · 2 bình luận ·