Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>TypeScript Semantic PasteNew to Visual Studio Code? Get it now.
TypeScript Semantic Paste

TypeScript Semantic Paste

gwicksted

|
1,489 installs
| (1) | Free
Escapes pasted text based on where the cursor is positioned
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Paste Escaped

TypeScript Semantic Paste

(escapes pasted text based on where the cursor is positioned)

paste-escaped

Install

Windows / Linux Mac
ctrl+shift+x cmd+shift+x
  • Type Paste
  • Find Paste Escaped
  • Click the Install button
  • Click the Reload button

Usage

Paste with semantic escaping (TypeScript files only)

Windows / Linux Mac
ctrl+shift+v cmd+shift+v

Undo semantic escaping

Windows / Linux Mac
ctrl+z cmd+z
  • Press once to undo the escaping (leaving you with the raw clipboard text).

  • Press a second time to undo the entire paste operation.

Command Pallette

Windows / Linux Mac
ctrl+shift+p cmd+shift+p
  • Type Paste
  • Select the option Paste: Escaped

Features

Escapes clipboard text in the following scenarios with | being the cursor position:

:heavy_check_mark: const test = `|`;

:heavy_check_mark: const test = "|";

:heavy_check_mark: const test = '|';

:heavy_check_mark: const test = /|/g;

:heavy_check_mark: const test = 123; // |

:heavy_check_mark: const test = /* | */ 123;

:ok_hand: any.other.code | (no escaping)

How it works

Text in clipboard:

:clipboard:

<text property="${donteval}" folder="C:\temp"/>
<name first='John\`s' last="Tools"/>`

Example 1. Pasting into template

const abc = ``;

Result (without extension) :thumbsdown:

const abc = `<text property="${donteval}" folder="C:\temp"/>
<name first='John`s' last="Tools"/>`;

:warning: Considers ${donteval} a template variable (may not be intentional)

:heavy_multiplication_x: Replaces \t in the C:\\temp path with a literal TAB

:heavy_multiplication_x: Breaks the string immediately following John causing compilation errors

Result (with extension) :thumbsup:

const abc = `<text property="\${donteval}" folder="C:\\temp"/>
<name first='John\`s' last="Tools"/>`;

:heavy_check_mark: The ${donteval} exists as verbatim text and will not look for a variable named donteval

:heavy_check_mark: Does not replace part of the path with a TAB

:heavy_check_mark: The string ends where expected :astonished:

Example 2.

const def = "";

Result (without extension) :thumbsdown:

const def = "<text property="${donteval}" folder="C:\temp"/>
<name first='John`s' last="Tools"/>"

:heavy_multiplication_x: Breaks the string immediately following property= (and several other places) causing compilation errors

:heavy_multiplication_x: Adds a line break causing additional compilation errors

:heavy_multiplication_x: Replaces \t in the C:\\temp path with a literal TAB

Result (with extension) :thumbsup:

const def = "<text property=\"${donteval}\" path=\"C:\\temp\"/>\n<name first='John`s' last=\"Tools\"/>";

:heavy_check_mark: Escapes all quotes and backslashes (\)

:heavy_check_mark: Escapes the line break with \n (or \r\n if that were on the clipboard)

:heavy_check_mark: The string ends where expected

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft