microsoft / microsoft/vscode-cpptools

Macro comment displays instead of function instead of

Open
#14,744 3 comments 0 reactions 1 assignee View on GitHub

@sean-mcmanus is already working on this.

Since Sep 8, 2026.

bug Feature: Doc comments Language Service Visual Studio
Dominant language
TypeScript
Stars
6.2k
Forks
1.7k
Avg merge
14h 46m
Merged PRs (30d)
61

Description

Environment
  • OS and Version: Windows 11
  • VS Code Version: 1.136.1
  • C/C++ Extension Version: 1.5.1
Bug Summary and Steps to Reproduce

Bug Summary:

When hovering over function definition, the comments of the macro creating the function name is shown instead of the function's ones.

Steps to reproduce:

Write this code:

// hello
#define deffunc(name) name
int deffunc(funcA)();

int main(){
    funcA();
    return 0;
}

and hover over funcA. hello is displayed instead of nothing.

Image

I saw this behaviour first in AudioKinetic's SDK, due to there being a ton of macro for function export so I suspect this is a bug.

Configuration and Logs
# c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.22621.0",
            "compilerPath": "cl.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64"
        }
    ],
    "version": 4
}
# Diag Log
-------- Diagnostics - 9/5/2026, 10:28:24 PM
Version: 1.33.8
Current Configuration:
{
    "name": "Win32",
    "includePath": [
        "d:/Projects/Temp/**"
    ],
    "defines": [
        "_DEBUG",
        "UNICODE",
        "_UNICODE"
    ],
    "windowsSdkVersion": "10.0.22621.0",
    "compilerPath": "cl.exe",
    "cStandard": "c17",
    "cppStandard": "c++17",
    "intelliSenseMode": "windows-msvc-x64",
    "compilerPathIsExplicit": true,
    "cStandardIsExplicit": true,
    "cppStandardIsExplicit": true,
    "intelliSenseModeIsExplicit": true,
    "recursiveIncludesPriorityIsExplicit": false,
    "recursiveIncludesOrderIsExplicit": false,
    "compilerPathInCppPropertiesJson": "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
    },
    "filesAutoSaveAfterDelay": false,
    "editorInlayHintsEnabled": true,
    "editorParameterHintsEnabled": true,
    "searchExclude": {
        "**/node_modules": true,
        "**/bower_components": true,
        "**/*.code-search": true
    },
    "workbenchSettingsEditor": "ui"
}
cpptools version (native): 1.33.7.0
Current database path: C:\Users\Khanh\AppData\Local\Microsoft\vscode-cpptools\834ddd22c2e1fcafd4ae772b1bf9f43b\.BROWSE.VC.DB
No active translation units.
Other Extensions

None

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.