vscode-cpptools icon indicating copy to clipboard operation
vscode-cpptools copied to clipboard

Function tooltips display in/out parameters twice

Open EtienneBasilik opened this issue 5 months ago • 1 comments

Environment

  • OS and Version: Windows 11 24H2
  • VS Code Version: Version: 1.100.3 (user setup) Commit: https://github.com/microsoft/vscode/commit/258e40fedc6cb8edf399a463ce3a9d32e7e1f6f3 Date: 2025-06-02T13:30:54.273Z Electron: 34.5.1 ElectronBuildId: 11369351 Chromium: 132.0.6834.210 Node.js: 20.19.0 V8: 13.2.152.41-electron.0 OS: Windows_NT x64 10.0.26100
  • C/C++ Extension Version: C/C++ v1.25.3 C/C++ Extension Pack v1.3.1 C/C++ Themes v2.0.0
  • If using SSH remote, specify OS of remote machine: No

Bug Summary and Steps to Reproduce

When using Doxygen style comments to describe a function which has in/out parameters and using the format supported by Doxygen, i.e. "[in,out]" (https://www.doxygen.nl/manual/commands.html#cmdparam), VS Code hover tooltip shows in/out parameters twice:

Image

Image

Whereas when we use non-standard "[inout]" format, VS Code correctly displays each parameter once and recognizes this format: syntax coloring puts "inout" in blue whereas it does not recognize any other random direction such as "wrongdir":

Image

Image

Is there a reason for displaying the parameter twice? If not, please fix the extension to display it once. This is better than using non-standard [inout] format which will most likely not be accepted by other tools.

Thanks.

Configuration and Logs

c_cpp_properties.json:
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${default}",
                "${workspaceFolder}/**"
            ],
            "defines": [
                "__NDEBUG"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "C:\\msys64\\ucrt64\\bin\\g++.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++17",
            "intelliSenseMode": "linux-clang-x86"
        }
    ],
    "version": 4
}


Log diagnostics:
-------- Diagnostics - 6/13/2025, 1:17:11 PM
Version: 1.25.3
Current Configuration:
{
    "name": "Win32",
    "includePath": [],
    "defines": [
        "__NDEBUG"
    ],
    "windowsSdkVersion": "10.0.19041.0",
    "compilerPath": "C:\\msys64\\ucrt64\\bin\\g++.exe",
    "cStandard": "gnu17",
    "cppStandard": "gnu++17",
    "intelliSenseMode": "linux-clang-x86",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "recursiveIncludesReduceIsExplicit": false,
    "recursiveIncludesPriorityIsExplicit": false,
    "recursiveIncludesOrderIsExplicit": false,
    "compilerPathInCppPropertiesJson": "C:\\msys64\\ucrt64\\bin\\g++.exe",
    "mergeConfigurations": false,
    "recursiveIncludes": {},
    "browse": {
        "limitSymbolsToIncludedHeaders": true
    }
}
Additional Tracked Settings:
{
    "editorTabSize": 2,
    "editorInsertSpaces": true,
    "editorAutoClosingBrackets": "languageDefined",
    "filesEncoding": "utf8",
    "filesAssociations": {
        "*.m": "matlab",
        "some_file.h": "c"
    },
    "filesExclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/.DS_Store": true,
        "**/Thumbs.db": true
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.25.3.0
Current database path: C:\USERS\<user>\APPDATA\LOCAL\MICROSOFT\VSCODE-CPPTOOLS\1859E3CA8E6B8D00DEE25A3B0086DAA3\.BROWSE.VC.DB
Translation Unit Mappings:
[ <my C file> - source TU]:
Translation Unit Configurations:
[ <my C file> ]
    Process ID: 47256
    Memory Usage: 57 MB
    Compiler Path: C:\msys64\ucrt64\bin\g++.exe
    Include paths:
        system include: C:\msys64\ucrt64\lib\gcc\x86_64-w64-mingw32\13.2.0\include
        system include: C:\msys64\ucrt64\include
        system include: C:\msys64\ucrt64\lib\gcc\x86_64-w64-mingw32\13.2.0\include-fixed
    Defines:
        __NDEBUG
    Standard Version: c17
    IntelliSense Mode: windows-gcc-x86
    Other Flags:
        --gcc
        --gnu_version=130200
Total Memory Usage: 57 MB

------- Workspace parsing diagnostics -------
Number of files discovered (not excluded): 18943
Number of files parsed: 221

Other Extensions

Issue persists after disabling all extensions.

Additional context

No response

EtienneBasilik avatar Jun 13 '25 17:06 EtienneBasilik

@EtienneBasilik This was a known issue that was already being worked on, related to https://github.com/microsoft/vscode-cpptools/issues/13682

sean-mcmanus avatar Jun 13 '25 18:06 sean-mcmanus

@EtienneBasilik Fixed with https://github.com/microsoft/vscode-cpptools/releases/tag/v1.26.2

sean-mcmanus avatar Jun 19 '25 20:06 sean-mcmanus

Indeed. With C/C++ extension v1.26.2 it is fixed and also the order is better than before:

Image

Thanks!

EtienneBasilik avatar Jun 20 '25 14:06 EtienneBasilik