microsoft / microsoft/vscode-cpptools

Code blocks in triple slash Doxygen comments are formatted incorrectly

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

@Colengms is already working on this.

Since Sep 18, 2026.

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

Description

Environment
  • OS and Version: Windows 11 Enterprise version 10.0.26200
  • VS Code Version: 1.127.0
  • C/C++ Extension Version: 1.32.2
  • If using SSH remote, specify OS of remote machine: N/A
Bug Summary and Steps to Reproduce

Bug Summary:

If you place a Markdown code block inside inside a Doxygen comment that uses /// at the start of each line, and that comment contains any Doxygen tag, and you hover over a symbol to view its documentation, then indentation and // at the start of lines inside the code block is stripped.

The same comment switched to use //! formats correctly.

Steps to reproduce:

Write a function with documentation such as the following:

/// Test function
///
/// Example:
/// ```
/// // This program does the thing.
/// int main() {
///   DoThing();
///   return 0;
/// }
/// ```
/// \param x Test parameter
void DoThing(int x);

Expected behavior:

When hovering over the symbol, the documentation should be rendered as

Test function

Example:

// This program does the thing
int main() {
  DoThing(1);
  return 0;
}

Parameters:
x - Test parameter

Actual behavior:

The documentation renders like this instead

Test function

Example:

 This program does the thing
int main() {
DoThing(1);
return 0;
}

Parameters:
x - Test parameter

Removing the \param line or changing the comment style to //! results in the expected rendering.

Configuration and Logs
Occurs in a workspace that only contains a single .cpp file and no c_cpp_properties.json.
Other Extensions

No response

Additional context
Image

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.