UCHover is a VS Code extension that previews Unicode escape sequences in hover tooltips. It decodes supported escape forms directly from file text and shows the rendered character, its code point, and its Unicode name.
What it does
- Hover a supported Unicode escape to see the rendered character.
- Decode BMP and astral code points.
- Combine valid UTF-16 surrogate-pair escapes.
- Show a selection preview when you select multiple escapes and hover one of them.

Supported escape forms
\uXXXX\u{...}\UXXXXXXXX- Adjacent surrogate pairs such as
\uD83D\uDE00
Examples:
\u0041->A\u{1F600}->😀\U0001F600->😀\uD83D\uDE00->😀
Hover behavior
When the cursor is inside a supported escape token, UCHover shows:
- the decoded character
- the original escape text
- the Unicode code point
- the Unicode name
Invalid escapes do not produce a hover. Isolated surrogates and out-of-range scalar values are ignored.
Selection preview
If you select text that contains supported escapes and hover one of those escapes inside the selection, UCHover adds a second hover block with the decoded character sequence.
Selection preview rules:
- only decoded characters are shown
- plain text between escapes is ignored
- valid escapes are decoded in source order
- invalid escapes are skipped
Example selection:
\u0041 hello \u{1F600}
Sequence preview:
A😀
Development
Requirements:
- Node.js
- pnpm
- VS Code 1.120.0 or newer for the extension host
Useful commands:
pnpm run compile
pnpm run watch
pnpm test
npm run vsix:package
Notes:
pnpm run compilebuilds the bundled extension intodist/.pnpm testruns the VS Code extension test host. The first run may download the VS Code test binary.npm run vsix:packageuses the project-local@vscode/vsceto build a VSIX and avoids relying on a globalvsceinstall.
Project layout
src/extension.ts: extension activation and hover-provider registrationsrc/unicodeHover.ts: escape parsing, decoding, and hover renderingsrc/test/extension.test.ts: parser and extension-host tests