Add support for clang-cl behavior for `/external:I`
@Colengms がすでに取り組んでいます。
2026年2月12日 から。
評価
この issue はまだ評価されていません。
説明
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
- 主要言語
- TypeScript
- スター
- 6.2k
- フォーク
- 1.7k
- 平均マージ
- 1日 4時間
- マージ済み PR(30日)
- 58
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/vscode-cpptools のほかの issue
-
bug Language Service regression
microsoft/vscode-cpptools#14795 · コメント 1 件 · 担当者 1 名 ·
-
bug Language Service parser
microsoft/vscode-cpptools#14794 · コメント 1 件 · 担当者 1 名 ·
-
more info needed
microsoft/vscode-cpptools#14793 · コメント 2 件 · 担当者 1 名 ·
-
more info needed
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
microsoft/vscode-cpptools#14787 · コメント 1 件 · 担当者 1 名 ·
-
[Bug] cpptools fails to start on Ubuntu ARM64 due to missing execute permissions on shared libraries オープンbug fixed Language Service regression
microsoft/vscode-cpptools#14779 · コメント 1 件 · 担当者 1 名 ·
microsoft/vscode-cpptools の issue をすべて見る
似ている issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
Mend: dependency security vulnerability untriaged
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100