Paste Escaped
TypeScript Semantic Paste
(escapes pasted text based on where the cursor is positioned)
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 |
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