I started with vanilla Emacs a couple of years ago, ran C-h t, did that for an hour or two, and began editing joyfully and it hasn't stopped. Picked up new stuff when the need arose.
However, if you want everything looking sexy and modern from the start and you're a cool kid, give this 30 minutes and see what you think:
Now my recommendation is: VSCodium, the telemetry-free (and apparently ad-free) version of VSCode. I’ve used this for two years, downloading extensions from Open-VSX.
I switched from Vim to Emacs in 2012 because Emacs had superior language support for Erlang and Haskell. The LSP support in VSCode challenged that. To this day, Emacs LSP isn’t great, and it does matter to me.
I tried setting up Doom Emacs last year, and after 4 hours of configuring, I have to admit it’s still a big investment of one’s time, hardly plug and play beyond the basics.
Since I still use Vim daily for small edits, I’ve decided to try and set up Neovim as an LSP-powered IDE using the nix-community/nixvim flake, which makes plugins easy once you’re deeply invested in Nix.
For people working web dev over multiple stacks and tech, emacs cannot compete with vscode, full stop.
People don't use vscode because it's snappy or hip or cool or the best or whatever (because it's not), they do it because you can quickly and painlessly set things up with it's gigantic ecosystem of plugin and libraries.
You could give me a new machine and I would have it up and running for a modern stack (django, nuxt, vue, python, Typescript, postgres, AWS, git) in less than a day a way that emacs could not.
Emacs has strengths and uses, but a vscode replacement it is not
I see folks suggesting emacs and others saying that they must use VSCode (or forks) because of the ecosystem of plugins.
Folks, we made this mistake with Eclipse and many other IDEs. The root problem is binding the build and instrumentation tools to the editor.
Here's how to solve the problem once and for all: Use a programmer's editor that's great at manipulating text and run all tools on the command line. Never mix them. All else is folly.
Love it or hate it, VSCode has become the "default" for the ecosystem at large, especially for Web development. For me personally, moving away would end up costing me more time (in getting alternative text editors to work with my tooling, or doing without) than it takes me to dismiss these popups.
Doesn't take away from how awful it is that a corporation usurped the ecosystem like this, but I am not idealistic enough to fight the current.
I guess it's just more reason for me to continue to be happy that I mostly use IntelliJ with occasional trips into Fleet (their VSCode competitor)
addendum: it really sucks when a free product that has positioned itself as the defacto product starts to get obnoxious about taking your data (logging in) and charging you for things (Copilot), especially when it's a multinational megacorp who is probably creating and distributing such a product to gain market dominance and crowd out its competitors. (add: this part of the sentence is probably meaner than it needs to be. The people that made VSCode probably wanted to just make a really nice Atom enhancement that worked well with .net. This stuff has been business demands.)
More addendum: If Microsoft didn't want to be pushy about this, they could have included the option in a Version Update announcement on a new tab or something. Wherever release notes and release announcements are normally put.
I don't think I've heard of Fleet but I'm definitely interested! Do you know if there's any info on what the pricing will be like when it's out of preview? I'm not against paying for my editor, but I also don't love the idea of a subscription and having to sign in and stuff.
I've only been using Emacs for about twelve years, so I'm still pretty new, but in that time I've heard the above statement ("it's the default") about Sublime Text, Atom, JetBrains IDEs, and now VSCode.
I wonder which editor you will learn next, when VSCode falls out of style. I will still be using Emacs.
I suppose, but these "default" tools have all had their place in the market because Emacs or Vim are evidently not meeting demand. Which gets to my point that telling someone to "just switch" is not very helpful.
I use Emacs when I’m code editing (especially when sshing). I love it but. The problem with emacs and vim to my mind is they are hard to configure. Like I’ve edited a .eMacs file but it’s in some lisp and adding plug ins isn’t intuitive. Maybe it’s better now, but it’s confusing. I use plain eMacs as distributed by my distro..
I use vs code annd jet brains too and it’s fairly straight forward to add in any plugin for this or that. They’re discoverable too. I don’t use a ton but some are helpful.
I bet it has some plugin manager like Vim (for which I use pathogen).
I also use VSCodium on the desktop simce Atom was abandoned and Vim when editing over ssh. I wanted to like Zed but everything is now infested with AI and the packaging sucks. I just want a nice looking UI desktop editor with Sublime style multiple cursors and without the BS. Git, Copilot etc is deactivated in my VSCode, I don't even use its terminal. But it keeps breaking things or adding crap. Of course, it needs to be open spurce and free. They can charge all they want for plugins and AI which I don't use.
The biggest advantage of VSCode is that it "just works". The UI is very intuitive, you can just install it and start coding. Meanwhile you can make a whole academic career out of "how to set up vim and Emacs", which is indeed fun in its own way, but it's not what most people need.
To give some kind of comparison, I love getting lost in C++ documentation and writing complex templates. It's a form of art. But when I want to actually write a program that does something, I do it in python, because it allows me to focus on the problem, rather than the tool.
I don't see this problem being resolved in near future. The core philosophy being vim and Emacs is incompatible with the idea of IDE that "just works".
I got into XEmacs, back in 1995, as there were no UNIX alternatives to the nice Borland IDEs I was used to in PC land.
Have enough muscle memory for several meta commands, and could still write one or two things in ELisp, yet I rather use the "default" IDE and graphical editors than going back to Emacs other than when having to handle a remote session to a Linux machine and the alternative being VI.
Maybe i lacked the grit, and patience, or maybe emacs is not meant for beginners or windows. However, there is a need for docs on how to move from vscode to emacs.
Did you try an Emacs distribution like Doom Emacs or Space Emacs? Or did you try vanilla Emacs? The latter is not going to give you a very good IDE type experience without said grit, etc, so I recommend the former.
Also, there are lots of ways to run on Windows other than native such as WSL, Linux VM, Docker, etc. Though I ran the Portacle distribution quite successfully on native Windows once (when it was my only choice).
I tried standard emacs and space emacs. What tripped me most was keybindings(ctrl c doesn't work!?) and lack of command prompt (no idea if it didn't exist or needed plugins)
There were few more pain points of "thinking in buffer" instead of files.
All I can say is that entire experience made me appreciate the OOB experience of vscode.
Since Emacs is fully programmable, fully connected with virtually no “permissions” system, and there is no structure to scan, validate, or flag third-party extensions/elisp code, I would suggest that it stands as a prime vector for malware!
I have no idea who may receive or read his email messages.
For a long time in the early 90s, he set no password on his accounts at MIT. Anyone could, and did, log in to rms@gnu.ai.mit.edu and it was basically a "public access system".
Richard Stallman fundamentally rejects information security principles and practices. He absolutely hates it when systems are secure and impregnable. Richard Stallman is an extremist zealot; he's extraordinarily idealistic, but his ideals themselves are unrealistic for real-world operations.
Did they not precisely validate what I wrote? GNU themselves says caveat emptor when installing 3rd party code. There’s no trusted path and no validation, and they admit it.
Heh, I loved atom particularly for it's vim mode plugin... which actually wasnt a true vim mode!
I mean I knew that from the start, as I began my career as a system admin who constantly ssh'd into servers and used vim for everything back then - but it worked so intuitively with atom that I still miss it for that
I've been using zed editor as my daily driver for about a year now and I feel like it's a less cluttered, well thought out editor. It also supports vim motions out of the box and isn't tied to Microsoft in any way.
Yep. This is what the vast majority of “maybe later”s are about. I’ve seen decisions being made based on this fact, and I’ve seen users worried about an irreversible fork in the road.
There are of course cases where “maybe later” does legitimately mean “we’re going to ask you again in a week”. I see those myself, and I hate them.
they just want to steal your whole codebase to train AI and then turn around and prohibit you from using it to code competing products or services. You know, the OpenAI/Gemini/Anthropic/xAI strategy
Enough with VSCode, moved to Emacs about 2 years ago. Emacs is far more configureable and efficient than you might think. Just don't be scared by the keybindings like "C-u C-x C-f" (I personally installed evil-mode to simplify the keys).
I mean there is a genuinely free tier that doesn't ask for credit cards or anything... that used to not be the case. More of an announcement than anything.
A 1st party ad is still an ad, though in isolation I do I agree that it's quite mild all considered. With context however (this being Microsoft's doing, and all the AI/Adware/telemetry/darkpatterns they're cramming into everything), I share OP's derision for this development in a tool that has become a centerpiece for many developers workflows, dev environments, and ancillary (plugins) ecosystems.
Thankfully, for now at least, VSCode is MIT Licensed [0], source available [1], and if built from source it does not include CoPilot, Telemetry or MS' other crapware or branding. You can do this yourself, or, there's VS Codium [2] that compiles this source for you without the cruft and makes those binaries/installers available [3] if like.
For those that like CoPilot, VSCodium even has a guide on how to add it to VSCodium/Source Built VSCode [4]
Quick context questions:
1. What were you doing right before this popped up?
2. Was this unprompted or did you click something to make this pop up? If so, what?
3. Have you used GitHub Copilot before?
4. Are you signed into your GitHub account?
How dare they put a pop-up promoting a feature of a software inside that software, like, once. Do they think they get a pass because only nagging pop-ups are considered ad?
/s
Oh I am aware of all the patterns. I'm also aware that "Later" instead of "No" is simply an UI convention, that doesn't neccessarily mean "I'm gonna spam you", unless you have evidence?
Leave?
I started with vanilla Emacs a couple of years ago, ran C-h t, did that for an hour or two, and began editing joyfully and it hasn't stopped. Picked up new stuff when the need arose.
However, if you want everything looking sexy and modern from the start and you're a cool kid, give this 30 minutes and see what you think:
https://github.com/doomemacs/doomemacs
Now my recommendation is: VSCodium, the telemetry-free (and apparently ad-free) version of VSCode. I’ve used this for two years, downloading extensions from Open-VSX.
I switched from Vim to Emacs in 2012 because Emacs had superior language support for Erlang and Haskell. The LSP support in VSCode challenged that. To this day, Emacs LSP isn’t great, and it does matter to me.
I tried setting up Doom Emacs last year, and after 4 hours of configuring, I have to admit it’s still a big investment of one’s time, hardly plug and play beyond the basics.
Since I still use Vim daily for small edits, I’ve decided to try and set up Neovim as an LSP-powered IDE using the nix-community/nixvim flake, which makes plugins easy once you’re deeply invested in Nix.
For people working web dev over multiple stacks and tech, emacs cannot compete with vscode, full stop. People don't use vscode because it's snappy or hip or cool or the best or whatever (because it's not), they do it because you can quickly and painlessly set things up with it's gigantic ecosystem of plugin and libraries. You could give me a new machine and I would have it up and running for a modern stack (django, nuxt, vue, python, Typescript, postgres, AWS, git) in less than a day a way that emacs could not. Emacs has strengths and uses, but a vscode replacement it is not
How about zed?
Zed is snappy, but it also doesn’t have a rich plugin ecosystem yet.
In that way it’s much like Vim, Emacs, Helix: powertools that need a lot of configuring.
I see folks suggesting emacs and others saying that they must use VSCode (or forks) because of the ecosystem of plugins. Folks, we made this mistake with Eclipse and many other IDEs. The root problem is binding the build and instrumentation tools to the editor. Here's how to solve the problem once and for all: Use a programmer's editor that's great at manipulating text and run all tools on the command line. Never mix them. All else is folly.
LSP in the editor means you get feedback while you code. Having compiler feedback in the terminal is workable, but not as good.
Just install Emacs. It respects your freedom, and it respects your rights.
Love it or hate it, VSCode has become the "default" for the ecosystem at large, especially for Web development. For me personally, moving away would end up costing me more time (in getting alternative text editors to work with my tooling, or doing without) than it takes me to dismiss these popups.
Doesn't take away from how awful it is that a corporation usurped the ecosystem like this, but I am not idealistic enough to fight the current.
I guess it's just more reason for me to continue to be happy that I mostly use IntelliJ with occasional trips into Fleet (their VSCode competitor)
addendum: it really sucks when a free product that has positioned itself as the defacto product starts to get obnoxious about taking your data (logging in) and charging you for things (Copilot), especially when it's a multinational megacorp who is probably creating and distributing such a product to gain market dominance and crowd out its competitors. (add: this part of the sentence is probably meaner than it needs to be. The people that made VSCode probably wanted to just make a really nice Atom enhancement that worked well with .net. This stuff has been business demands.)
More addendum: If Microsoft didn't want to be pushy about this, they could have included the option in a Version Update announcement on a new tab or something. Wherever release notes and release announcements are normally put.
If notifications for products from the vendor are ads, then JetBrains does ads just like Microsoft.
Lets talk about JetBrains pushing AI as well? Initially it couldn't even be disabled.
I don't think I've heard of Fleet but I'm definitely interested! Do you know if there's any info on what the pricing will be like when it's out of preview? I'm not against paying for my editor, but I also don't love the idea of a subscription and having to sign in and stuff.
I've only been using Emacs for about twelve years, so I'm still pretty new, but in that time I've heard the above statement ("it's the default") about Sublime Text, Atom, JetBrains IDEs, and now VSCode.
I wonder which editor you will learn next, when VSCode falls out of style. I will still be using Emacs.
I suppose, but these "default" tools have all had their place in the market because Emacs or Vim are evidently not meeting demand. Which gets to my point that telling someone to "just switch" is not very helpful.
I use Emacs when I’m code editing (especially when sshing). I love it but. The problem with emacs and vim to my mind is they are hard to configure. Like I’ve edited a .eMacs file but it’s in some lisp and adding plug ins isn’t intuitive. Maybe it’s better now, but it’s confusing. I use plain eMacs as distributed by my distro..
I use vs code annd jet brains too and it’s fairly straight forward to add in any plugin for this or that. They’re discoverable too. I don’t use a ton but some are helpful.
I bet it has some plugin manager like Vim (for which I use pathogen).
I also use VSCodium on the desktop simce Atom was abandoned and Vim when editing over ssh. I wanted to like Zed but everything is now infested with AI and the packaging sucks. I just want a nice looking UI desktop editor with Sublime style multiple cursors and without the BS. Git, Copilot etc is deactivated in my VSCode, I don't even use its terminal. But it keeps breaking things or adding crap. Of course, it needs to be open spurce and free. They can charge all they want for plugins and AI which I don't use.
The biggest advantage of VSCode is that it "just works". The UI is very intuitive, you can just install it and start coding. Meanwhile you can make a whole academic career out of "how to set up vim and Emacs", which is indeed fun in its own way, but it's not what most people need.
To give some kind of comparison, I love getting lost in C++ documentation and writing complex templates. It's a form of art. But when I want to actually write a program that does something, I do it in python, because it allows me to focus on the problem, rather than the tool.
I don't see this problem being resolved in near future. The core philosophy being vim and Emacs is incompatible with the idea of IDE that "just works".
I got into XEmacs, back in 1995, as there were no UNIX alternatives to the nice Borland IDEs I was used to in PC land.
Have enough muscle memory for several meta commands, and could still write one or two things in ELisp, yet I rather use the "default" IDE and graphical editors than going back to Emacs other than when having to handle a remote session to a Linux machine and the alternative being VI.
I have attempted it and couldn't make it work.
Maybe i lacked the grit, and patience, or maybe emacs is not meant for beginners or windows. However, there is a need for docs on how to move from vscode to emacs.
Did you try an Emacs distribution like Doom Emacs or Space Emacs? Or did you try vanilla Emacs? The latter is not going to give you a very good IDE type experience without said grit, etc, so I recommend the former.
Also, there are lots of ways to run on Windows other than native such as WSL, Linux VM, Docker, etc. Though I ran the Portacle distribution quite successfully on native Windows once (when it was my only choice).
I tried standard emacs and space emacs. What tripped me most was keybindings(ctrl c doesn't work!?) and lack of command prompt (no idea if it didn't exist or needed plugins)
There were few more pain points of "thinking in buffer" instead of files.
All I can say is that entire experience made me appreciate the OOB experience of vscode.
Back in the day XEmacs used to have great Windows support, I dunno about standard Emacs.
[flagged]
Since Emacs is fully programmable, fully connected with virtually no “permissions” system, and there is no structure to scan, validate, or flag third-party extensions/elisp code, I would suggest that it stands as a prime vector for malware!
I would suggest that it stands as a prime vector for malware!
So still better than VS Code that is malware by itself.
> I would suggest that it stands as a prime vector for malware!
I would suggest you send an email to rms@gnu.org, he might disagree.
I have no idea who may receive or read his email messages.
For a long time in the early 90s, he set no password on his accounts at MIT. Anyone could, and did, log in to rms@gnu.ai.mit.edu and it was basically a "public access system".
Richard Stallman fundamentally rejects information security principles and practices. He absolutely hates it when systems are secure and impregnable. Richard Stallman is an extremist zealot; he's extraordinarily idealistic, but his ideals themselves are unrealistic for real-world operations.
Previously: https://news.ycombinator.com/item?id=42256409
https://news.ycombinator.com/item?id=23421738
The GNU Project indeed itemizes a few "known security risks" in their own FAQ: https://www.gnu.org/software/emacs/manual/html_node/efaq/Sec...
Okay that seems needlessly obtuse. I think yall would get along actually based on the tone and content of your replies.
Did they not precisely validate what I wrote? GNU themselves says caveat emptor when installing 3rd party code. There’s no trusted path and no validation, and they admit it.
I really loved Atom. Before the market dominance of VSC had it struggle, and the purchase of github by microsoft finally shut it down.
I feel we need a adsbymicrosoft webpage, similar to https://killedbygoogle.com/
Heh, I loved atom particularly for it's vim mode plugin... which actually wasnt a true vim mode!
I mean I knew that from the start, as I began my career as a system admin who constantly ssh'd into servers and used vim for everything back then - but it worked so intuitively with atom that I still miss it for that
I expect this to happen and to continue, because VSC is an MS product after all, and MS does this in their OS as well.
I've been using zed editor as my daily driver for about a year now and I feel like it's a less cluttered, well thought out editor. It also supports vim motions out of the box and isn't tied to Microsoft in any way.
Has anyone else had this ad recently? My tolerance for being advertised to is already low... I suppose it's time to just use neovim.
Or maybe https://vscodium.com/
But some extensions aren't available IIRC, like PlatformIO.
If you have to have post-it note how to escape Vim, I think a lot of people will stick with VS Code with ads /s
LLMs make it really easy to learn vim/neovim
Never got that, I'm guessing you have the copilot extension and that it is what is causing it
VS Code is tightly integrated into Copilot even if you don't install the extension these days. It even has its own button in the title bar.
Yet another “Maybe Later” anti-UI. What ever happened to “No?”
Microsoft is like a creepy guy in a nightclub going up to every woman, asking “Do you want to dance? [Yes] [Maybe Later]”
Their deliberate misunderstanding of user consent should be criminal.
I think maybe later means no. But it’s worded to assure the user that the choice is reversible.
It’s worded that way to assure the user that they will ask again. And again.
> But it’s worded to assure the user that the choice is reversible
.. While also disrespecting anyone who never wants to avail themselves. What happened to good old "Don't ask me again"?
Yep. This is what the vast majority of “maybe later”s are about. I’ve seen decisions being made based on this fact, and I’ve seen users worried about an irreversible fork in the road.
There are of course cases where “maybe later” does legitimately mean “we’re going to ask you again in a week”. I see those myself, and I hate them.
Do you have the setting `extensions.ignoreRecommendations` enabled?
they just want to steal your whole codebase to train AI and then turn around and prohibit you from using it to code competing products or services. You know, the OpenAI/Gemini/Anthropic/xAI strategy
What a time to be alive!
Enough with VSCode, moved to Emacs about 2 years ago. Emacs is far more configureable and efficient than you might think. Just don't be scared by the keybindings like "C-u C-x C-f" (I personally installed evil-mode to simplify the keys).
Try VSCodium.
don't you need to click on the copilot icon for this to show? i'd understand the sentiment if it was a popup out of nowhere
Is there a uBlock Origin for VS Code?
My work and my personal projects are deeply tied to the official extensions that neovim,helix,zed,emacs,etc. lack.
No. However you could instead use a FOSS editor like vscodium, which also does not include MS telemetry.
Nor a license to several plugins.
I mean there is a genuinely free tier that doesn't ask for credit cards or anything... that used to not be the case. More of an announcement than anything.
It's pretty mild.
A 1st party ad is still an ad, though in isolation I do I agree that it's quite mild all considered. With context however (this being Microsoft's doing, and all the AI/Adware/telemetry/darkpatterns they're cramming into everything), I share OP's derision for this development in a tool that has become a centerpiece for many developers workflows, dev environments, and ancillary (plugins) ecosystems.
Thankfully, for now at least, VSCode is MIT Licensed [0], source available [1], and if built from source it does not include CoPilot, Telemetry or MS' other crapware or branding. You can do this yourself, or, there's VS Codium [2] that compiles this source for you without the cruft and makes those binaries/installers available [3] if like.
For those that like CoPilot, VSCodium even has a guide on how to add it to VSCodium/Source Built VSCode [4]
0: https://github.com/microsoft/vscode/blob/main/LICENSE.txt
1: https://github.com/microsoft/vscode
2: https://vscodium.com/#why
3: https://github.com/VSCodium/vscodium/releases
4: https://github.com/VSCodium/vscodium/discussions/1487
It's "free" in the same way that Google's services are "free". You pay with your data. Can't say they aren't upfront about it, at least.
Quick context questions: 1. What were you doing right before this popped up? 2. Was this unprompted or did you click something to make this pop up? If so, what? 3. Have you used GitHub Copilot before? 4. Are you signed into your GitHub account?
How dare they put a pop-up promoting a feature of a software inside that software, like, once. Do they think they get a pass because only nagging pop-ups are considered ad? /s
Once? There’s no “once”. It’s “Sign up” or “Maybe later”.
Speculation much? I use vscode. I didn't see this popped up more than once. Do you actually know that they nag or you just hate by default?
The issue with people like you is that you have no idea what a pattern is, and you are unaware of Microsoft's past use of such patterns
But I also blame the people who call this "an ad", this is not an ad, this is much worse
https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis...
Oh I am aware of all the patterns. I'm also aware that "Later" instead of "No" is simply an UI convention, that doesn't neccessarily mean "I'm gonna spam you", unless you have evidence?
It does when microsoft is using it, as proven by every piece of software that they've written in the past decade.