Skip to content

Suggestion Widget Hangs on Markdown #152010

@ssigwart

Description

@ssigwart

Using an extension that provides PHP intellisense, it creates a suggestion widget with documentation for each file in the namespace. The documentation includes a php code snippet in markdown for each file. When the completion shows and it goes to show the details, it hangs VS Code while rendering. While the extension can be updated to reduce the documentation size, the issue can be triggered in VS Code directly too. The contrived typescript file below simulates the same effect.

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

Version: 1.68.0 (Universal)
Commit: 4af164e
Date: 2022-06-08T11:44:00.250Z
Electron: 17.4.7
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: 9.8.177.13-electron.0
OS: Darwin x64 20.6.0

Steps to Reproduce:

  1. Open attached markdownHang.ts.txt file, but rename to .ts.
  2. Type "test" at the bottom.

image

It will hang while typing. If it doesn't you can copy/paste the JSDoc to make it longer.

I will open a PR in a few minutes to fix this. It looks like the following tries to re-render after each markdown snippet instead of at the end.

this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(() => {
this.layout(this._size.width, this._type.clientHeight + this._docs.clientHeight);
this._onDidChangeContents.fire(this);
}));

Metadata

Metadata

Assignees

Labels

bugIssue identified by VS Code Team member as probable bugfreeze-slow-crash-leakVS Code crashing, performance, freeze and memory leak issuesinsiders-releasedPatch has been released in VS Code Insidersmarkdown-extThe Markdown extension: language features and previewverifiedVerification succeeded

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions