brunnerh / insert-unicode Goto Github PK
View Code? Open in Web Editor NEWA Visual Studio Code extension which adds commands for inserting unicode characters/codes.
License: MIT License
A Visual Studio Code extension which adds commands for inserting unicode characters/codes.
License: MIT License
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:
Commands:
Could be done via panel like in this extension.
From issue #9
I'm with David263. I don't get it.
- Select Insert option
- Get prompt
- Enter example text and there are no search results
- Press Enter and there are no search results
- Type something else and there are still no search results
I can't get the extension to do anything!
The prompt shows (7)
results but nothing is visible. Also, it only should show (2)
:
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.
Add a new command to show a table of all the Unicode data?
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.
The Unicode Character Database, Code Charts, and Annexes for Version 13.0 will be released on March 10, 2020
Installing 0.13.0 fails due to long file name, looks like #26 again.
To Reproduce
Steps to reproduce the behavior, e.g.
[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):
Please can you make it possible to allow inserting unicode chars for multiple cursors? Would be great!
The package is still only semi-compiled (references svelte/internal
) and has other issues.
Should probably be saved to user settings by default.
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
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
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
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 arrowsThis 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
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).
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.
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
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
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
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.
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":
They do show up properly in the "Manage Favorites" view:
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.
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?
I appreciate the value in entering emojis but it would be nice to able to insert more mundane characters like endash and 0x2013.
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.
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):
Extension Settings
Please copy the JSON of all settings you configured for the extension.
None
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".
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?
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
There's a finite list of anomalies in Unicode character names. For example, lambda is spelled incorrectly as lamda for U+039B and U+03BB. This list is documented in UTN#27: https://unicode.org/notes/tn27/. Is it possible to extend the normal search (not exact) to take these into account?
If no text is selected there is a warning: No text selected.
A prompt for user input would probably be more useful.
Hi can you push your extension to https://open-vsx.org/ in addition to VSCode Market Place so people using the FLOSS version could install it too?
I wrote an article on the subject.
Example of Github Action: https://github.com/HaaLeo/publish-vscode-extension
I would like to know how to type a unicode character in VS Code directly without an extension
Blocked by sveltejs/svelte-loader#139
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.