#vscode #snippet

app character-snippets

Convert a TOML file in a certain format to a Visual Studio Code snippets file. Contains many useful snippets by default.

6 releases (2 stable)

1.0.1 May 7, 2020
0.2.2 Mar 22, 2020
0.2.1 Feb 24, 2020
0.2.0 Feb 24, 2020
0.1.0 Feb 24, 2020

#8 in #snippet


213 lines


Commitizen friendly Travis Build Status AppVeyor Build status

A small program that generates a Visual Studio Code snippets file, with either builtin snippets (>1000 Unicode characters) or a custom TOML input file.

# Install with Rust. Alternatively, download a binary from the Releases page.
cargo install character-snippets

# Put a snippets file in a good location for Visual Studio Code on Linux. These
# snippets will be visible in all workspaces.
character-snippets --builtin > ~/.config/Code/User/snippets/chars.code-snippets

# Use a custom snippets file.
character-snippets my-custom-snippets.toml > ~/.config/Code/User/snippets/chars.code-snippets

# To find out where the snippets files are located on your operating system, run
# "Preferences: Configure User Snippets" and create a new global snippets file.

The format of the input file should be as follows:

    xbrackets = "〚$1〛"
    xcheckbox = ""
    xchecked = ""
    xcheckmark = ""
    xch = ""

Visual Studio Code will interpret variables such as $1 as placeholders.

Output will be sent to standard output.


Download binaries:

→ from the GitHub releases page

Alternatively, compile from scratch on Unix:

# 1. Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 2. Add ~/.cargo/bin to PATH
source $HOME/.cargo/env # or log in again
# 3. We need a basic build environment (cc, ld) for a dependency
apt install build-essential
# 4. Install character-snippets
cargo install character-snippets
# 5. Profit!
character-snippets --builtin > ~/.config/Code/User/snippets/chars.code-snippets # for Linux
character-snippets src/builtin-snippets.toml > ~/.config/Code/User/snippets/chars.code-snippets


This project is licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~134K SLoC