This is an extension for Visual Studio Code which adds commands for inserting Unicode characters/codes and Emoji.
The commands can be executed via the command palette (
No keys are bound by default. Use the command
Table of Contents
In this section the various commands will be explained. Every subsection first lists the commands that it is about (the prefix common to all commands,
The command identifier (used in custom keyboard shortcuts) will be given in parentheses (again, the prefix
Inserting Individual Characters/Codes
These commands insert Unicode characters as text, decimal or hex codes.
The "exact" variants search for an exact name rather than a substring to facilitate faster insertion when the name is known (particularly useful for custom keyboard shortcuts).
The "Emoji" variants limit the search to characters classified as Emoji.
Example for Insert, searching for
When binding a command to a keyboard shortcut, the search string can be provided as an argument. Note that the UI for binding keyboard shortcuts currently does not support setting arguments, so the JSON file has to be edited (execute command
E.g. to quickly insert skin tone modifier characters:
The "exact" directly inserts a given character, e.g.
Insert From Favorites
These commands insert characters from a favorites directory tree.
Favorites can be configured via the Manage Favorites command, which opens an editor:
The buttons prefixed with
Inserting/Replacing Text With a "Unicode Font"
This command inserts/replaces Latin alphabetic characters with Unicode variants that give them another appearance. Whether these characters can be displayed properly depends on the font, of course.
When the command is invoked the user can select the font style:
This command can also be bound using an argument to specify the font, e.g.:
Identify Unicode Characters
This command will show the Unicode name and code point of the selected characters.
Note that joint characters are split up in the analysis.
The message window will not display line breaks, but there is a button that opens the result in a new file. Right clicking the notification and selecting "Copy" will also preserve the line breaks.
You can always open the output in a new file by changing the setting Show Identified Characters in File (
There also is the Identify view in the Explorer sidebar which performs the identification of characters in the current selection on the fly. The view can be dragged to its own or another section as well as hidden via the context menu on the section title.
There are settings for adjusting the update rate and maximal number of identified characters if performance adjustments are necessary. While the view is not visible (i.e. collapsed or hidden) it will not perform any lookups.
Direct Hex Code Input
If you happen to know the exact hexadecimal code, this command can be used to insert the corresponding character.
Unicode Data Table
Shows the Unicode data set as a big data table.
The entries are filtered according to the settings Include Sequences (
Recently Used Characters
When inserting individual characters, the extension keeps track of recently used entries and subsequently shows them at the top of list.
This behavior can be disabled via the option Enable Recently Used (
The command Clear Recently Used List (
Insert Compound Characters, Apply Accents and Modifiers
If you e.g. want to apply a grave accent to an
Modifiers that can be applied to the previous character generally have combining in their name. The stand-alone character version of grave accent would be
There is another method of combining characters that uses a dedicated character for joining other characters, e.g. the
In general, if you see a special character or symbol and do not know how to write it, try copying it into VS Code and execute the Identify Characters command on it.
Unicode Standards Versions