-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Open
Copy link
Labels
Feature: Auto-completeLanguage ServiceVisual StudioInherited from Visual StudioInherited from Visual Studiobug
Description
Environment
- OS and Version: macOS 15.5 (24F74)
- VS Code Version: Version: 1.100.2 (Universal) 848b80aeb52026648a8ff9f7c45a9b0a80641e2e
- C/C++ Extension Version: 1.25.3
- If using SSH remote, specify OS of remote machine: N/A
Bug Summary and Steps to Reproduce
Bug Summary:
When typing a C struct declaration that requires an explicit "struct" keyword in function parameters, autocomplete candidate box does not appear.
When you just use the struct's name it works fine but the language server won't fix your missing "struct" keyword still.
The workspace in which I found this issue is OpenOCD project, single project configured with Autoconf, and compile_commands.json generated from bear was used.
Steps to reproduce:
- Define a C struct (like
struct foo {};
). - In a function body or function parameters, type "struct": right now it still pops autocomplete candidate box
- Press Spacebar, and type struct name (like "foo"). No autocomplete candidate box popping.
Expected behavior:
Autocomplete should be triggered.
Configuration and Logs
*No c_cpp_properties.json is used in the project; was using compile_commands.json*
C/C++: Log Diagnostics:
-------- Diagnostics - 2025/5/23 20:13:03
Version: 1.25.3
Current Configuration:
{
"name": "Mac",
"includePath": [
"/Volumes/Extern/contrib/openocd/**"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "macos-clang-arm64",
"compilerPathInCppPropertiesJson": "/usr/bin/clang",
"defines": [
"HAVE_NO_AUTOCONF=1"
],
"intelliSenseModeIsExplicit": false,
"cStandardIsExplicit": false,
"cppStandardIsExplicit": false,
"mergeConfigurations": false,
"recursiveIncludes": {},
"recursiveIncludesReduceIsExplicit": false,
"recursiveIncludesPriorityIsExplicit": false,
"recursiveIncludesOrderIsExplicit": false,
"compilerPathIsExplicit": false,
"browse": {
"limitSymbolsToIncludedHeaders": true
}
}
Modified Settings:
{
"C_Cpp.default.defines": [
"HAVE_NO_AUTOCONF=1"
],
"C_Cpp.intelliSenseCachePath": "/Volumes/Extern/MSCppCache/"
}
Additional Tracked Settings:
{
"editorTabSize": 8,
"editorInsertSpaces": false,
"editorAutoClosingBrackets": "languageDefined",
"filesEncoding": "utf8",
"filesAssociations": {
"jim-nvp.h": "c",
"jim.h": "c",
"jim-win32compat.h": "c",
"config.h": "c",
"loongarch_ejtag.h": "c"
},
"filesExclude": {
"**/.git": true,
"**/.svn": true,
"**/.hg": true,
"**/.DS_Store": true,
"**/Thumbs.db": true
},
"filesAutoSaveAfterDelay": false,
"editorInlayHintsEnabled": false,
"editorParameterHintsEnabled": true,
"searchExclude": {
"**/node_modules": true,
"**/bower_components": true,
"**/*.code-search": true
},
"workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.25.3.0
Current database path: /Users/rigoligo/Library/Caches/vscode-cpptools/f8f55d5d314dc735e4b2500e975937a5/.browse.VC.db
Translation Unit Mappings:
[ /Volumes/Extern/contrib/openocd/src/target/loongarch/loongarch_ejtag.c - source TU]:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_ctype.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdlib.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_string.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_strings.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_time.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types/_uint16_t.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types/_uint32_t.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/mach/arm/_structs.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_id_t.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_off_t.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_u_int16_t.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_uid_t.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/resource.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/signal.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include/stdarg.h
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include/stddef.h
/Volumes/Extern/contrib/openocd/src/target/loongarch/loongarch_ejtag.h
[ /Volumes/Extern/contrib/openocd/src/target/mips_ejtag.c - source TU]:
/Volumes/Extern/contrib/openocd/jimtcl/jim.h
/Volumes/Extern/contrib/openocd/src/helper/binarybuffer.h
/Volumes/Extern/contrib/openocd/src/jtag/commands.h
/Volumes/Extern/contrib/openocd/src/jtag/jtag.h
/Volumes/Extern/contrib/openocd/src/target/mips_ejtag.h
Translation Unit Configurations:
[ /Volumes/Extern/contrib/openocd/src/target/loongarch/loongarch_ejtag.c ]
Process ID: 53375
Memory Usage: 51 MB
Compiler Path: /usr/bin/clang
Include paths:
system include: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include
system include: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
system include: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
system framework search path (default): /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks
include (recursive): /Volumes/Extern/contrib/openocd/src
include (recursive): /Volumes/Extern/contrib/openocd
include (recursive): /Volumes/Extern/contrib/openocd/jimtcl
include (recursive): /Volumes/Extern/contrib/openocd/contrib/firmware/angie/c/include
Defines:
HAVE_NO_AUTOCONF=1
Standard Version: c17
IntelliSense Mode: macos-clang-arm64
Other Flags:
--clang
--clang_version=170006
[ /Volumes/Extern/contrib/openocd/src/target/mips_ejtag.c ]
Process ID: 53373
Memory Usage: 32 MB
Compiler Path: /usr/bin/clang
Include paths:
system include: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/16/include
system include: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
system include: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
system framework search path (default): /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks
include (recursive): /Volumes/Extern/contrib/openocd
include (recursive): /Volumes/Extern/contrib/openocd/src
include (recursive): /Volumes/Extern/contrib/openocd/jimtcl
include (recursive): /Volumes/Extern/contrib/openocd/contrib/firmware/angie/c/include
Defines:
HAVE_NO_AUTOCONF=1
Standard Version: c17
IntelliSense Mode: macos-clang-arm64
Other Flags:
--clang
--clang_version=170006
Total Memory Usage: 84 MB
------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 13520
------- Potential include path issues --------
Some headers exist in multiple locations. If IntelliSense is behaving incorrectly,
try adding one of the alternate paths to the "includePath" in your configuration in
c_cpp_properties.json to override the automatic path discovery for that header.
Using: /Volumes/Extern/contrib/openocd/config.h
Alternative: "/Volumes/Extern/contrib/openocd/src/jtag/drivers/libjaylink"
Using: /Volumes/Extern/contrib/openocd/contrib/firmware/angie/c/include/io.h
Alternative: "/Volumes/Extern/contrib/openocd/src/jtag/drivers/OpenULINK/include"
LS Logs: See "Additional Context", it doesn't fit into this field
Other Extensions
No response
Additional context
Video:
https://github.com/user-attachments/assets/b77a8d79-6efa-44fc-a048-4b84c542054c
LSP Log:
lsp_log.log
Metadata
Metadata
Assignees
Labels
Feature: Auto-completeLanguage ServiceVisual StudioInherited from Visual StudioInherited from Visual Studiobug
Type
Projects
Status
No status