Giter Club home page Giter Club logo

insert-unicode's Introduction

Insert Unicode

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 (View > Command Palette.../ Ctrl + Shift + P) or bound to keyboard shortcuts.

No keys are bound by default. Use the command Preferences: Open Keyboard Shortcuts to add custom keyboard shortcuts.

Table of Contents

Features

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, Insert Unicode:, is omitted for brevity).

The command identifier (used in custom keyboard shortcuts) will be given in parentheses (again, the prefix insert-unicode. is omitted).

Inserting Individual Characters/Codes

  • Insert (insertText)
  • Insert as Decimal Code (insertDecimalCode)
  • Insert as Hex Code (insertCode)
  • Insert Exact (insertTextExact)
  • Insert Exact as Decimal Code (insertDecimalCodeExact)
  • Insert Exact as Hex Code (insertCodeExact)
  • Insert Emoji (insertEmojiText)
  • Insert Emoji as Decimal Code (insertEmojiDecimalCode)
  • Insert Emoji as Hex Code (insertEmojiHexCode)

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 fire:

search-prompt

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 Preferences: Open Keyboard Shortcuts (JSON)).

E.g. to quickly insert skin tone modifier characters:

{
	"key": "ctrl+e ctrl+f",
	"command": "insert-unicode.insertText",
	"args": "fitzpatrick"
}

The "exact" directly inserts a given character, e.g. FIRE, which otherwise would lead to multiple results, including characters like FIREWORKS and FIRE ENGINE:

{
	"key": "ctrl+e f",
	"command": "insert-unicode.insertTextExact",
	"args": "fire"
}

Insert From Favorites

  • Insert from Favorites (insertFavoriteText)
  • Insert from Favorites as Decimal Code (insertFavoriteDecimalCode)
  • Insert from Favorites as Hex Code (insertFavoriteHexCode)
  • Manage Favorites (manageFavorites)

These commands insert characters from a favorites directory tree.

favorites

Favorites can be configured via the Manage Favorites command, which opens an editor:

favorites

The buttons prefixed with + add new directories/favorite entries respectively. x removes directories/favorites. Clicking the folder icon in front of the directory name expands/collapses the contents. Directories can be renamed by clicking the name and editing it.

Save (Ctrl+S) saves changes to the settings files.
Revert reloads the favorites from the settings, discarding any changes.

Inserting/Replacing Text With a "Unicode Font"

  • Insert/Replace Text With "Unicode Font" (insertFont)

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:

font-prompt

This command can also be bound using an argument to specify the font, e.g.:

{
	"key": "ctrl+e f",
	"command": "insert-unicode.insertFont",
	"args": "Math Fraktur Bold"
}

Identify Unicode Characters

  • Identify Characters (identify)

This command will show the Unicode name and code point of the selected characters.

Example text:

๐Ÿ‡ณ๐Ÿ‡ต๐Ÿ‘Œ๐Ÿป๐Ÿ”ฅ

Output:

๐Ÿ‡ณ: REGIONAL INDICATOR SYMBOL LETTER N (0x1f1f3)
๐Ÿ‡ต: REGIONAL INDICATOR SYMBOL LETTER P (0x1f1f5)
๐Ÿ‘Œ: OK HAND SIGN (0x1f44c)
๐Ÿป: EMOJI MODIFIER FITZPATRICK TYPE-1-2 (0x1f3fb)
๐Ÿ”ฅ: FIRE (0x1f525)

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 (show-identified-characters-in-file).

Identify View

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.

Identify view example

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

  • Insert from Hex Code (fromHexCode)

If you happen to know the exact hexadecimal code, this command can be used to insert the corresponding character.

Unicode Data Table

  • Data Table (dataTable)

Shows the Unicode data set as a big data table.

data table example

The entries are filtered according to the settings Include Sequences (include-sequences) and Include Skin Tone Variants (include-skin-tone-variants).

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 (enableRecentlyUsed). The length of this list can be set via Recently Used Limit (recentlyUsedLimit).

The command Clear Recently Used List (clearRecentlyUsed) clears this temporary list.

How To?

Insert Compound Characters, Apply Accents and Modifiers

If you e.g. want to apply a grave accent to an e (resulting in eฬ€), you first type out the character to be modified and then insert the modifier, in this case COMBINING GRAVE ACCENT (0x300).

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 GRAVE ACCENT (0x60).

There is another method of combining characters that uses a dedicated character for joining other characters, e.g. the ZERO WIDTH JOINER (0x200d) which is used e.g. in the various family emoji. The family consisting of a man, woman and a girl (๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘ง), e.g. is written as MAN ZWJ WOMAN ZWJ GIRL (0x1f468 0x200d 0x1f469 0x200d 0x1f467).

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

  • Unicode Standard: 15.0.0
  • Unicode Emoji: 15.0

Known Issues

  • Some of "fonts" do not convert correctly.
  • The unicode fonts may confuse word wrapping, which is an issue on the side of VS Code itself.

Attribution

insert-unicode's People

Contributors

brunnerh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

insert-unicode's Issues

unicode favorites not stored

The unicode favorites aren't stored. If I have two identically named folders at the same level, the program correctly displays an error message upon saving. So the saving routine does something.

But generally: I save, close, reopen "manage favorites" and all is gone. I downloded the vs code zip and work with the non-installed version of vs code.

Recently used list

For faster access, saving a list of characters recently used would probably be helpful.

The list should be displayed above the other items.

Configuration options:

  • Max item count
  • Store list in settings file?
  • Recently used list

Commands:

  • Clear recently used list

Insert CR results in LF

Describe the bug
When I try to insert a CR (\x0D) character, I finally get a LF \x0A character in the file.

To Reproduce
Steps to reproduce the behavior, e.g.

  1. Open an editor with CRLF EOL.
  2. Call command 'Insert'
  3. Select option 'CR'
  4. Save the file
  5. Open in hex editor (e.g. ms-vscode.hexeditor)

Expected behavior

You should have a CR character in the file

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]: Windows 10
  • Visual Studio Code Version: [e.g. 1.40.2 (see Help > About)] Version: 1.65.2 (user setup)
  • Extension Version [e.g. 0.7.0 (seen next to extension name)] v0.13.3

Extension Settings
Please copy the JSON of all settings you configured for the extension.
None

Add data from Unicode v.13

The Unicode Character Database, Code Charts, and Annexes for Version 13.0 will be released on March 10, 2020

ENAMETOOLONG error on install on linux

Visual Studio Code (tested on 1.57.0) fails to install 0.12.0 on linux (mint in my case) with node error ENAMETOOLONG.

[2021-06-14 09:32:30.045] [renderer1] [error] ["extracting: ENAMETOOLONG: name too long, open '/home/viell/.vscode/extensions/.9e115ead-e803-4b12-854f-45b916de8551/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js'","    at l.extractAtLocation (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:183960)","    at async l.extractUserExtension (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:180962)","    at async G.extractAndInstall (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:198663)","    at async G.doInstallFromGallery (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:195230)"]
[2021-06-14 09:32:30.131] [renderer1] [error] ENAMETOOLONG: name too long, open '/home/viell/.vscode/extensions/.9e115ead-e803-4b12-854f-45b916de8551/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js': extracting: ENAMETOOLONG: name too long, open '/home/viell/.vscode/extensions/.9e115ead-e803-4b12-854f-45b916de8551/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js'
    at l.extractAtLocation (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:183960)
    at async l.extractUserExtension (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:180962)
    at async G.extractAndInstall (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:198663)
    at async G.doInstallFromGallery (file:///usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:54:195230)

I tried unzipping the .vsix file in order to install the extention manually.
These are the files that have too long names:

extension/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js
extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_css-shim-934c915f_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_css-shim-934c915f_js.js
extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_resize-observer-56b7b34f_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_resize-observer-56b7b34f_js.js
extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_revo-grid_10_entry_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_revo-grid_10_entry_js.js
extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_revogr-filter-panel_entry_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_revogr-filter-panel_entry_js.js
extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_css-9b0aeb.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_css-9b0aeb.js
extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_res-0513ce.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_res-0513ce.js
extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-39b370.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-39b370.js
extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-ca335a.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-ca335a.js
Output of unzip command.
viell@viell-dev:~/Downloads$ unzip brunnerh.insert-unicode-0.12.0.vsix
Archive:  brunnerh.insert-unicode-0.12.0.vsix
  inflating: extension.vsixmanifest  
  inflating: [Content_Types].xml     
  inflating: extension/.github/ISSUE_TEMPLATE/bug_report.md  
  inflating: extension/CHANGELOG.md  
  inflating: extension/icon/icon.png  
  inflating: extension/icon/icon.svg  
  inflating: extension/icon/identify-view.svg  
  inflating: extension/icon/render.sh  
  inflating: extension/LICENSE.txt   
  inflating: extension/out/commands/150.150.js  
  inflating: extension/out/commands/223.223.js  
  inflating: extension/out/commands/279.279.js  
  inflating: extension/out/commands/32.32.js  
  inflating: extension/out/commands/407.407.js  
  inflating: extension/out/commands/553.553.js  
  inflating: extension/out/commands/729.729.js  
  inflating: extension/out/commands/893.893.js  
  inflating: extension/out/commands/91.91.js  
  inflating: extension/out/commands/938.938.js  
  inflating: extension/out/commands/command-callback.js  
  inflating: extension/out/commands/data-table/data-table-back-end-message.js  
  inflating: extension/out/commands/data-table/data-table-view-message.js  
  inflating: extension/out/commands/data-table/data-table.js  
  inflating: extension/out/commands/data-table/favorites-back-end-message.js  
  inflating: extension/out/commands/data-table/favorites-view-message.js  
  inflating: extension/out/commands/data-table/index.js  
  inflating: extension/out/commands/data-table/manage-favorites.js  
  inflating: extension/out/commands/data-table/utility/message-bus.js  
  inflating: extension/out/commands/data-table/utility/unicode-data.js  
  inflating: extension/out/commands/data-table/view.js  
  inflating: extension/out/commands/hex-to-text.js  
  inflating: extension/out/commands/identify-characters.js  
  inflating: extension/out/commands/insert-character.js  
  inflating: extension/out/commands/insert-favorite.js  
  inflating: extension/out/commands/insert-font.js  
  inflating: extension/out/commands/manage-favorites/favorites-back-end-message.js  
  inflating: extension/out/commands/manage-favorites/favorites-section-type.js  
  inflating: extension/out/commands/manage-favorites/favorites-view-message.js  
  inflating: extension/out/commands/manage-favorites/icons/index.js  
  inflating: extension/out/commands/manage-favorites/index.js  
  inflating: extension/out/commands/manage-favorites/manage-favorites.js  
  inflating: extension/out/commands/manage-favorites/utility/constants.js  
  inflating: extension/out/commands/manage-favorites/utility/favorites-transform.js  
  inflating: extension/out/commands/manage-favorites/utility/message-bus.js  
  inflating: extension/out/commands/manage-favorites/utility/types.js  
  inflating: extension/out/commands/manage-favorites/utility/unicode-data.js  
  inflating: extension/out/commands/manage-favorites/utility/vscode-api.js  
  inflating: extension/out/commands/manage-favorites/view.js  
  inflating: extension/out/commands/node_modules_revolist_revogrid_dist_esm-es5_revogr-clipboard_entry_js.node_modules_revolist_revogrid_dist_esm-es5_revogr-clipboard_entry_js.js  
error:  cannot create extension/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js
        File name too long
  inflating: extension/out/commands/polyfills-core-js.polyfills-core-js.js  
  inflating: extension/out/commands/polyfills-dom.polyfills-dom.js  
  inflating: extension/out/commands/recently-used.js  
  inflating: extension/out/commands/svelte/utility/dialog-utility.js  
  inflating: extension/out/commands/svelte/utility/message-bus.js  
  inflating: extension/out/commands/svelte/utility/recently-used-list.js  
  inflating: extension/out/commands/svelte/utility/vscode-api.js  
  inflating: extension/out/commands/svelte/webpack.config.js  
error:  cannot create extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_css-shim-934c915f_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_css-shim-934c915f_js.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_resize-observer-56b7b34f_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_resize-observer-56b7b34f_js.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_revo-grid_10_entry_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_revo-grid_10_entry_js.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_revogrid_dist_esm-es5_revogr-filter-panel_entry_js.vendors-node_modules_revolist_revogrid_dist_esm-es5_revogr-filter-panel_entry_js.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_css-9b0aeb.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_css-9b0aeb.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_res-0513ce.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_res-0513ce.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-39b370.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-39b370.js
        File name too long
error:  cannot create extension/out/commands/vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-ca335a.vendors-node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_rev-ca335a.js
        File name too long
  inflating: extension/out/config-interface.js  
  inflating: extension/out/config.js  
  inflating: extension/out/context.js  
  inflating: extension/out/data.js   
  inflating: extension/out/extension.js  
  inflating: extension/out/migrations.js  
  inflating: extension/out/state.js  
  inflating: extension/out/utility/code-conversion.js  
  inflating: extension/out/utility/code-operations.js  
  inflating: extension/out/utility/editor.js  
  inflating: extension/out/utility/favorites.js  
  inflating: extension/out/utility/files.js  
  inflating: extension/out/utility/issues.js  
  inflating: extension/out/utility/messages.js  
  inflating: extension/out/utility/promises.js  
  inflating: extension/out/utility/quick-pick.js  
  inflating: extension/out/utility/recently-used-list.js  
  inflating: extension/out/utility/recently-used-list.json  
  inflating: extension/out/views/identify-view/identify-view.js  
  inflating: extension/package.json  
  inflating: extension/readme-files/data-table.png  
  inflating: extension/readme-files/favorites-manager.png  
  inflating: extension/readme-files/favorites.png  
  inflating: extension/readme-files/font-prompt.png  
  inflating: extension/readme-files/identify-view.png  
  inflating: extension/readme-files/search-prompt.gif
  inflating: extension/README.md

Math Bold for numbers it doesn't work

Hello, when I want to transform the text in Math Bold into letters it works fine, but in number it does not convert them, this is a page Yaytext where I transform it and it works for number and letter, could you correct this?
image

[Feature request] Support private area codepoints

Hi!

With vscode not having a direct way to insert a codepoint from its hex, I tend to use this extensions a lot, but it frustratingly

  1. doesn't allow unmapped codepoints
  2. doesn't consider the private area planes to be mapped.

The combination of those two makes it impossible to insert codepoints from the private area, which is fairly annoying when working with say, icon fonts.

Disclaimer: This might already possible and I'm just missing it

Suggestion

I think (1) is reasonable and (2) is reasonable most of the time. I think the right call would be to add a insert-unicode.include-private-area options to make those insertable. If there's interest I'm willing to dedicate time to implement it.

Instructions?

So I installed this extension in VSCode, but can't find a scrap of documentation in its writeup or in VSCode menus. What does this extension actually do? What keystrokes or commands does it add? Where is its documentation and why is it hidden there?

Okay, I just found the instructions: in the README of this repository. Yes, I call this 'hidden'.

And I can't use the confusing video showing someone typing into VSCode. Videos don't help: (1) they go by too fast, (2) you can't tell what the user is typing vs. what the product is responding with, (3) there are no actual detailed explanations of what is happening in the video.

Also, the README instructions are confusing. They seem to provide snippets of JSON to link commands to keystrokes. Are we supposed to enter these into the Settings JSON if we want to actually use this extension? It is okay if we are, I just want to see instructions that actually say that.

I count three snippets. Does this extension consist only in those three commands, or is there more? The instructions don't make this clear.

It says "This command will show the Unicode name and code point of the selected characters."

Sounds useful. What does it mean by "this command"? Is it the previous command, insert-unicode.insertFont, or some other?

An extension can't be used by everyone without clear instructions.

How to use this extension?

I have installed this extension, now what? your animated gif shows how to insert a unicode(fire), but how can I get the autocomplete? I pressed Ctrl+E and typed fire, copyright, etc.. nothing shows up.. Do I have to configure anything?

Use Fuzzy Search?

It would be good if the search was 'fuzzy', or at least less restrictive.

For example, I would expect that the search for greek beta would give all results which have both greek and beta in their description; however, the extension only returns matches which contain greek beta as an exact substring.

I realize that it's possible to use greek*beta which is a partial solution, it is still sensitive to the order of words (for example, beta*greek returns no result).

[Bug] "Math Italic" of "Insert Unicode: Insert/Replace Text with 'Unicode Font'"

Describe the bug
The buggy Command is "Insert Unicode: Insert/Replace Text with "Unicode Font", of which "Math Italic". If apply the command to the letter h, the result would be as the 2nd line in example.

Example

python
๐‘๐‘ฆ๐‘ก๐‘•๐‘œ๐‘›  0x1d455
๐‘๐‘ฆ๐‘กโ„Ž๐‘œ๐‘›     0x210e

Possible Cause
Unicode U+1d455 is reserved because italic h already exist as Planck Constant at U+210E

Insert Unicode (Hex Code) doesn't work

Ctrl-Shift-P, Insert Unicode (Hex Code), type "2212" expecting to find the "minus" character but nothing is found instead saying "No items found for 2212".

Unicode "font" titles for comments?

Hey I know this might be beyond the scope of what you're trying to do, but it would be cool if you could add the ability to convert text to unicode "fonts" like this: https://lingojam.com/FancyTextGenerator

It's generally useful for small comments that still need to be easy to see.

I use this extension for making large ASCI banner comments and it's workflow with the command palette is not very far off from yours. https://github.com/vanessa-luna/banner-comments-plus

Show Unicode Data Table

Add a new command to show a table of all the Unicode data?

  • Virtualized
  • Fixed headers
  • Sortable
  • Searchable
  • Actions? (e.g. copy as..., add to favorites)

Results not showing up

From issue #9

I'm with David263. I don't get it.

  1. Select Insert option
    image
  2. Get prompt
    image
  3. Enter example text and there are no search results
    image
  4. Press Enter and there are no search results
    image
  5. Type something else and there are still no search results
    image

I can't get the extension to do anything!

The prompt shows (7) results but nothing is visible. Also, it only should show (2):

image

Feature request: Add a command to select emoji only

Love this extension! It's always a pain to have to dig through google when I need some unicode symbols, and this extension does a great job letting me sift through unicode quickly. It's also very helpful that you've added recents and favorites, for quick recall of frequently used characters.

One feature request: add an insert command for emoji only, without all the rest of unicode

  • e.g. when I do Insert and type arrow to try to find the emoji arrows (e.g. โฌ†๏ธโฌ‡๏ธโฌ…๏ธโžก๏ธ), I have to scroll through many pages of unicode arrows before I get down to the emoji arrows

This unicode extension has better usability than the rest of the emoji extensions I've found in the marketplace (because it has recents, favorites, data table, etc.), and if it had a command to filter to emoji only then I think it'd be the best one for the very common case of selecting emoji, in addition to also being able to select unicode

Combining characters are not displayed properly

Fantastic extension, saves me from switching to KCharSelect all the time!

I like to use combining characters as math accents in programs that do not support LaTeX math. Unfortunately, these characters are not displayed properly in the drop-down menu. This view is from "Insert from Favorites":

Screenshot_20210714_231227

They do show up properly in the "Manage Favorites" view:

Screenshot_20210714_231609

This suggests the problem could be fixed by implementing #28, i.e. by having a view in the sidebar for both managing and inserting favorites.

endash

I appreciate the value in entering emojis but it would be nice to able to insert more mundane characters like endash and 0x2013.

Inserting combining macrons

I would like to add macrons to letters e.g. add U+0304 to U+0054 result Xฬ„. As I understand it the U+0304 macron can be added to any character, but I can't figure out how to do it using the extension.

ENAMETOOLONG error on install on linux again

Installing 0.13.0 fails due to long file name, looks like #26 again.

To Reproduce
Steps to reproduce the behavior, e.g.

  1. Install the 0.13.0, either from file or from update button.
[2021-09-28 09:56:52.384] [renderer1] [error] ENAMETOOLONG: name too long, open '/home/XXX/.vscode/extensions/.b30f4dc6-e7bd-4eba-9a3a-9227f5530b17/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js': extracting: ENAMETOOLONG: name too long, open '/home/XXX/.vscode/extensions/.b30f4dc6-e7bd-4eba-9a3a-9227f5530b17/out/commands/node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.node_modules_revolist_svelte-datagrid_node_modules_revolist_revogrid_dist_esm-es5_revogr-clip-fe8f0a.js'
    at f.extractAtLocation (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:58:185479)
    at async f.extractUserExtension (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:58:182453)
    at async F.extract (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:58:194886)
    at async F.doRun (vscode-file://vscode-app/usr/share/code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:58:195589)

Expected behavior

install the new version

Environment (please complete the following information):

  • OS: Linux amd64
  • Visual Studio Code Version: 1.60.2
  • Extension Version: 0.13.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.