stephen-riley / regexworkbench

A Visual Studio Code extension that allows one to easily play with regular expressions
15 stars 8 forks source link

Preview

demo

Just click the regex star at the bottom right to get started.

click the star

Description

A regular expression workbench for Visual Studio Code in the style of Komodo's. Just click on the slash-star-slash icon in the lower right.

Currently supports match, match all, split, replace, and replace all.

How does it work?

The workbench uses the PCRE2 (Perl Compatible Regular Expressions) library, compiled to WebAssembly. See @stephen-riley/pcre2-wasm for that project. PCRE2 is a significant upgrade compared to the current Javascript RegExp functionality (though there is hope!).

Some important things to note about PCRE2 as used in this extension:

Why the delay in loading this extension?

At the time of writing, the V8 Javascript engine running Visual Studio Code always runs WebAssembly modules through its TurboFan optimizing compiler. PCRE2 has some seriously nontrivial logic in it that TurboFan takes 6-7 seconds to process. You will therefore notice a similar delay between launching vscode and seeing the Regular Expression Workbench icon appearing in the lower right. See this repo for further information.

Sideloading from a local build

If you want to run a customized version, here's how to sideload your own build.

Make sure you have Node.js installed, then run:

npm install -g vsce

Clone the repo and cd into its directory, then run:

vsce package

code --install-extension regexworkbench-<version>.vsix

(The version comes from package.json.)