Because people want a fast out of the box editing experience. Not clicking yes for every language server.
But what they should have is a CDN with their own extensions and verified binaries. This way they can ship new versions of extensions without bumping their editor version.
It annoys me a lot as well, though it took me a couple of minutes to turn off the popups.
Once you've done that, it's similar to emacs for me, everything has to be evoked via a shortcut (or Action Palette which works very well in VS Code). The shortcut to show "help" or "docs" is Cmd+K Cmd+I, by the way - easy to type and remember...
It's important to note that this isn't a dev response that is meant to directly address the issue in the OP. Someone else just saw that it was a dev comment in a related issue and linked it.
If you look at the linked thread the quote came from [1], the quote is actually answering a similar issue titled "Why are there nodejs files in my zed install". Judging by the response, the dev had interpreted the issue title as a "what does zed uses nodejs for" and not "why does zed downloads nodejs without informing the user" and answered accordingly.
There are more relevant links to PRs and comments further down the GitHub thread (the one in the OP) where the zed devs acknowledge that they are still thinking about how to best implement the UX for extensions downloading LSPs and whatnot.
That is about the idea of rewriting existing tooling in Rust to get rid of node_modules folders, not about prompting users whether to download a language server or not.
"Action would be too difficult / we don't like it" =/= "there is no action available".
This is just refusing to take responsibility for their decision. "We don't feel like doing it" is the truth, and it would be best to state it plainly. Of course there is no obligation to do otherwise, which makes it strange to play with words.
That's nothing to do with having a dialog to ask for each too. That's talking about the amount of work it would be to rewrite all these tools themselves so it was first party Rust code.
That's not a Rust issue (not having a prompt to update LSPs). Lapce[1] is also a Rust editor, and it didn't keep downloading JS or stuff without a prompt. You can do what VSCode does, have extensions that ask for update, then update on change (even if using binary is the only solution, which I also doubt). Or if the issue is running LSP, ask if you trust a project folder on project start.
There are more game engines written in Rust than games written in Rust.
So maybe there are more GUI libraries than dialog windows written in Rust as well.
Because people want a fast out of the box editing experience. Not clicking yes for every language server.
But what they should have is a CDN with their own extensions and verified binaries. This way they can ship new versions of extensions without bumping their editor version.
> Not clicking yes for every language server.
How many language servers are we talking about here for the average dev? Three?
Yes, but you would have it for each time you opened a new workspace.
The only point of this would be if you didn't want to download the language server for untrusted code.
I think what people really want is workspace location permissions...
2 replies →
>Because people want a fast out of the box editing experience. Not clicking yes for every language server.
That strikes me as more of a UX problem. Doing a bunch of sketchy things behind the user's back is absolutely not a solution though.
The versions should generally match what's specified in the user's package.json. It doesn't make much sense then to have a separate registry.
I don’t want that. Popups are one of the reasons I stopped using VSCode. They drive me nuts. Just let me write code.
Just let others silently run code on my computer? Sorry, but not for me.
Isn't that the point of downloading an editor in the first place? Not having to write your own editor code?
1 reply →
It annoys me a lot as well, though it took me a couple of minutes to turn off the popups.
Once you've done that, it's similar to emacs for me, everything has to be evoked via a shortcut (or Action Palette which works very well in VS Code). The shortcut to show "help" or "docs" is Cmd+K Cmd+I, by the way - easy to type and remember...
The popups in VScode seem explicitly intended to annoy.
Why is showing the release log the default for so many things? Is the average user really going to read them?
It makes you wonder what they are doing with all that telemetry
Because it would turn into the popup fest that is vscode.
All it takes is a "yes to all this session" button, which is way better than just doing it quietly.
I can't remember the last time I saw a popup in vscode, maybe last year.
Do you use it?
3 replies →
[flagged]
It's important to note that this isn't a dev response that is meant to directly address the issue in the OP. Someone else just saw that it was a dev comment in a related issue and linked it.
If you look at the linked thread the quote came from [1], the quote is actually answering a similar issue titled "Why are there nodejs files in my zed install". Judging by the response, the dev had interpreted the issue title as a "what does zed uses nodejs for" and not "why does zed downloads nodejs without informing the user" and answered accordingly.
There are more relevant links to PRs and comments further down the GitHub thread (the one in the OP) where the zed devs acknowledge that they are still thinking about how to best implement the UX for extensions downloading LSPs and whatnot.
[1]: https://github.com/zed-industries/zed/issues/7054#issuecomme...
That is about the idea of rewriting existing tooling in Rust to get rid of node_modules folders, not about prompting users whether to download a language server or not.
"Action would be too difficult / we don't like it" =/= "there is no action available".
This is just refusing to take responsibility for their decision. "We don't feel like doing it" is the truth, and it would be best to state it plainly. Of course there is no obligation to do otherwise, which makes it strange to play with words.
That's nothing to do with having a dialog to ask for each too. That's talking about the amount of work it would be to rewrite all these tools themselves so it was first party Rust code.
That's not a Rust issue (not having a prompt to update LSPs). Lapce[1] is also a Rust editor, and it didn't keep downloading JS or stuff without a prompt. You can do what VSCode does, have extensions that ask for update, then update on change (even if using binary is the only solution, which I also doubt). Or if the issue is running LSP, ask if you trust a project folder on project start.
[1]https://github.com/lapce/lapce
Does it mean that it’s excruciatingly difficult to write a yes/no prompt in Rust? You can make an editor, but not a consent prompt…
There are more game engines written in Rust than games written in Rust. So maybe there are more GUI libraries than dialog windows written in Rust as well.
1 reply →