Zero to Emacs and Org-roam: a step-by-step guide on Windows 10
github.com
github.com
https://github.com/joaotavora/eglot is developed by a core Emacs developer who plans to mainline it. It works great.
These days I use Geany as my primary editor for programming. Something that drives me crazy when I fire up VS Code is that it doesn't have a sidebar helping me to navigate the program (showing function names and such). I'm sure I could get it working that way, but that's not "out of the box" as is so often proclaimed.
If any Googler is reading, I wish it was the same for Flutter!
I have 12 years of Visual Studio (not code) under my belt and I found the Dart / Flutter "intellisense" quite lacking in Android Studio.
Regardless, seeing this submission is about something related to Org-mode, I think your comment is slightly out of place seeing there really is nothing comparable to it across any editors (that I know of).
But the cool thing is that you can override the configuration per workspace and that the config files are just JSON that can be checked into git. Another cool thing is that I can open a workspace in a "devcontainer", which means I don't have to install extensions and so on on the host.
What I really don't like is the terminal from VSCode. It's nothing compared to Alacritty.
Indeed that's what I conclude too. But if I have to configure, tbh I would much rather do it in Emacs lisp than editing JSON. The elisp is a very pleasant and full-fledged programming language that's well integrated and abstracted for configuration. It's also plaintext so can be version controlled like you said.
The "devcontainer" thing does sound like a very nice feature. I am intrigued about how it works though. One can always use volumes/bind mounts to edit source with host Emacs alright, but things like Language Server needs to know location of say 3rd party Python dependencies installed only in the container to provide autocompletion for them. Can VSCode really do completion when language server runs in host, but dependencies are only installed in the container? That would be a nice out of the box feature for sure.
It is definitely somewhere between architectural overkill and very useful.
I've considered that multiple times. It's not that modifying Emacs is difficult (it isn't!) or that modifying VSCode is easier – it isn't, if it's not in a menu or extension somewhere, it's painful just like any other editor except Emacs.
Rather, I've found it was due to:
* Emacs or external tools not playing well with each other
* The Visual Studio Code extensions for popular languages are rather comprehensive and well done. YMMV, sometimes you are lucky to get syntax highlighting. Where Emacs will probably have some pretty battle tested support for more esoteric file formats or languages.
Also Spacemacs was a life saver. I've thrown away thousands of lines of custom Emacs Lisp code.
(I have no meaningful experience with any of these editors.)
Be sure to use the spacemacs develop branch
There's a bit of a false dichotomy. When I was a C++ developer, I always edited in Emacs and used other tools (e.g. Visual Studio) for the convenience features. No one insists you have to use one or the other.
Having said that, people who use Emacs primarily for coding are likely not going to stick to it. Emacs is a text editor. Programming is merely one use case amongst many.
Emacs might take more time to configure, but that's time measured in hours or, at most, days—a tiny blip compared to the total amount of time you spend programming in the environment! On the other hand, you get a system that you can quickly adapt to your specific needs in a way that other editors do not really support. It's the perfect environment for "situated software"[1], and environment that can grow[2] with your needs and workflow.
Emacs's learning curve and configuration is an O(1) cost for an O(n) benefit. As long as you're planning to use it a lot—and we're programmers, we're going to use it a lot—even a small increase in the benefit is worth a substantially larger up-front cost.
[1]: https://www.drmaciver.com/2018/11/situated-software/
[2]: "Grow" in a similar sense to Guy Steele's "Growing a Language" talk: https://www.youtube.com/watch?v=_ahvzDzKdB0
But with just those first 3 packages I get "intellisense" in emacs via company-mode. It's awesome.
Org-roam: A plain-text personal knowledge management system.
Org-roam has some additional integrations like cataloging references specific URLs or bibtex references.
1) https://orgmode.org 2) https://roamresearch.com/
Combine those two and you get org-roam
It has always been a minor pain point and I’ve had trouble finding reliable info. Ideally we could just use Powershell but I understand this is quite tricky. Powershell.el[1] didn’t actually work for me (beyond the editing mode) when I last tried it but I do see there’s a somewhat recent update.
Also, if you really like powershell, use the linux version next to bash
I also use VSCode but I use markdown with many tweaks for my notes but I also have Latex and Org support enabled for when I need it.
The ‘traditional’ Emacs tutorial methodology is like teaching people to type with the first step being: change your keyboard layout to Dvorak. It’s ridiculous.
I appreciate that you speak to your target audience in their language, rather than the language of the Emacs religion. (It makes me think of English vs. Latin.)
I just gave up at that point.
Some cursory googling found 10,000 other, but similar, problems with Emacs so I just gave up hope.
I was using Doom, so I assume there was some issue loading Doom.
And as everyone else has said, you definitely want to back up and version control your Emacs config. Most of the power in Emacs come from customizing it to your needs, and without it you'll lose much of your workflow.
The org-mode spacemacs layer has support for a bunch of org-based tools
Be sure to use the spacemacs develop branch.
I've found this article to be one of the better on setup of that environment:
https://elecming.medium.com/the-ultimate-emacs-hacking-tutor...