microsoft / microsoft/TypeScript

JSDoc tag descriptions lose their indentation.

Open
#53,576 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bug Domain: JSDoc Help Wanted
Dominant language
Go
Stars
111k
Forks
14.3k
Avg merge
1d 19h
Merged PRs (30d)
117

Description

Does this issue occur when all extensions are disabled?: Yes

Version: 1.76.2
Commit: ee2b180d582a7f601fa6ecfdad8d9fd269ab1884
Date: 2023-03-14T17:47:26.641Z
Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

Steps to Reproduce:

  1. Open vscode.dev
  2. Create a new file and set language mode to JavaScript
  3. Paste the following:
/**
 * This works
 * ```
 * some
 *   indentations
 *     and
 *       some
 *         more
 * ```
 */
function foo() {}

/**
 * @typedef MyObj
 * @property {number} foo This doesn't
 * ```
 * some
 *   indentations
 *     and
 *       some
 *         more
 * ```
 */

const obj = /** @type {MyObj} */ (null);

obj.foo
  1. Hover over foo on the last line.

When hovering over foo() it works fine:
image

But on obj.foo the identation of the code block is lost:
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.

Research direction

Use the JavaScript/JSDoc reproduction in the issue in vscode.dev, then hover over foo() and obj.foo to compare their rendered descriptions. Investigate the JSDoc tag description path implicated by the @property example. Done means indentation inside the property’s fenced code block is preserved like the standalone description.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
devtools
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.