bartosz-antosik / vscode-spellright

Multilingual, Offline and Lightweight Spellchecker for Visual Studio Code
Other
359 stars 36 forks source link

Add words to a system dictionary on Windows #28

Closed borekb closed 7 years ago

borekb commented 7 years ago

Would be nice if custom words could be added to a system dictionary on Windows. It is located at C:\Users\Me\AppData\Roaming\Microsoft\Spelling\en-US\default.dic for me but also very likely accessible via some API as Caret, a Markdown editor I use, stores custom words there.

bartosz-antosik commented 7 years ago

I am hesitating about it as, among other things, it is bit against cross platform-ness. Also it is contradictory to the dictionaries grouping feature I consider important (hiding dictionaries' regional variations - like instead of displaying en-US, en-UK, en-CA etc. I tend to group them under en and reference in such a way to the API which is (the API) happy about it).

Could you please show me a short sample content of such a file? I have all of them empty & have no idea really how to fill them with any content.

borekb commented 7 years ago

I understand your thinking (I personally think that spell checking on Windows is a mess and you only get to choose which mess you're more comfortable with :) ). This is the contents of my .dic:

#LID 1033
mixins
webhooks
VSCode
EditorConfig
Linting

I think Caret handles spell checking as well as a Windows app can: it tries to use native APIs and adding custom words is quite intuitive. I'd suggest you try it, or if you're against the idea of commercial / trial software on your PC, I could get some screenshots and post some more details.

borekb commented 7 years ago

BTW I think adding words to a system dictionary could work side by side with the current approach somehow. For example, in this list, there could be a third item:

image

like "Add to system ignore list", or maybe there could be a config option like spellright.globalDictionaryLocation: "vscodeUserSettings|systemDictionary".

bartosz-antosik commented 7 years ago

Just aside other things - I think I have an acceptable solution for the enhancement from this thread, just I suppose it will take some about to make. Hence it is waiting a bit.

borekb commented 7 years ago

Can you share your plan?

bartosz-antosik commented 7 years ago

I would like both global (user) and local (workspace) dictionaries sit in separate files (e.g. spellright.dic) and you should be able to name the file for global dictionary. This way you could point it to the file you need and the system would stay similar to what it is which is quite platform/user experience agnostic.

bartosz-antosik commented 7 years ago

Resolved in 1.0.36. See settings flag: spellright.addToSystemDictionary.

bartosz-antosik commented 7 years ago

And of course - please let me know if you can live with this solution, as, according to my understanding, it should be exactly what you need.

borekb commented 7 years ago

From my first tests, this works exactly like I would want it to! 🎉

Thank you.

bartosz-antosik commented 7 years ago

Great. A review perhaps? ;-)

bartosz-antosik commented 7 years ago

And BTW. last release is a lot of changes. If you would maybe spot sth. wrong please, as always, report. Thanks for all the cooperation here and there!

borekb commented 7 years ago

Review submitted, your work on this is really appreciated!

(A side question: does VSCode provide APIs to spell-check the commit message dialog? Sometimes, it's more than a couple of words and spell checking would be useful there.)

bartosz-antosik commented 7 years ago

Thank you. I am a looser in PR hence the inquiry.

Regarding spelling of the internal edit boxes: no, I don't think it is possible.

But it's a great idea! Because of many reasons actually - e.g. it strongly supports what I am trying to convince the VSCode team to: an integration of a spelling module among modules build with VSCode. This would allow others to build their own, specialized spell checkers. I have written quite some about it here #20266. This is also the reason why so far (which is going to change any moment soon) Spell Right is Windows only.