just checking - you have installed and used the vs-code language support and purescript ide plugins but you don’t find them to be sufficient?
I installed the first proposed plugin for vs-code. And It does work to some extend. I have (limited) auto-completion for instance. But I cannot jump to a symbol definition, I have to save before seeing the errors, I have to re-write the function name after writing its signature, etc.
Maybe I didn’t install the best plugin for vscode? Maybe I have to configure it? Or maybe I need multiple plugins?
P.S: Worth noting that it is the first time I used vs-code. I may not know obivous stuff about it.
Don’t think you’ll need others (well, i you may want more but i don’t think you’ll get better than that right now)
I find it works really well for me but it does require a successful compile for it to be able to jump to definition, jump to reference, case split and so on.
You do only trigger the error detection on save, i don’t find that a problem but YMMV
The import completion is phenomenally useful, IMO - with one caveat, you need to be alert to what completion you are accepting as the completions are by symbol name only (not signature) so you can occasionally make life very hard for yourself by auto-completing something that then generates mysterious type-errors. It’s not a major problem but rather something to be aware of.
Thanks @afc, Maybe I am expecting too much functionality to be available even on a non-compiling state. Good to know it must compile first.
However, even on a compiling state, I cannot jump to symbols usage/implementation. Is it supposed to work?
EDIT: I found that jumps to definition actually works “sometime”. Still not clear why it doesn’t always work. And jump to usage, simply doesn’t seem available to me.
That’s fine. I’m used to this behavior. That’s the same with other languages.
But I cannot “optimize” imports for example. (automatically removing unneeded imports).
Also something which is quite painful is that I cannot generate a typeclass implementation. That forces me to lookup for the function signatures in the docs and retype them manually. (Not mentionning I cannot jump to the typeclass definition)
for specific suggestions, when your cursor is on the same line as the suggestion indicator (wavy orange underline) you can also mouseclick the little lightbulb, and as you see here, get offered the fix for just that particular situation:
i think you’re better getting used to the reflexive save, TBH, running the compiler for every character is not going to work, i think. (maybe if it were debounced to some number of idle seconds but that’s probably worse experience than hitting save)
I think you’ll find that it’s still a productive environment - speaking only for myself i find that i don’t need that constant nannying of lint that i do need in JS in Haskell-like languages.