3 ms·
>you can extend VS Code (and similiar), but it's a lot of work and boilerplate to create a plugin whose actual functionality is 3 lines of code (let's say toLow
by hollerith 4y ago
>you can extend VS Code (and similiar), but it's a lot of work and boilerplate to create a plugin whose actual functionality is 3 lines of code (let's say toLowercase()). In emacs, you can just write those 3 lines of code and that's it, that's your plugin.
This right here is the main reason I'm still using Emacs.
Another thing that makes it easy to extend Emacs is that the (freely downloadable) documentation on how to extend Emacs is very well written and organized -- much more so than the documentation on how to extend vscode for example.
And it is easy to obtain a local, offline copy of all the documentation I need to extend Emacs by installing a couple of packages in my package manager of choice (namely, one package containing Emacs's source code and one package consisting of the Emacs Lisp Reference Manual).
For a few years recently I didn't have a net connection in my apartment. (I still had access to the net by walking to a community room in my apartment building.) During those years, I spent hundreds of hours in my apartment modifying Emacs -- often quite complicated modifications -- but only a few times did I feel the need during one of those Emacs-modification sessions to leave my apartment to look something up on the net.
In contrast, while extending vscode, a coder needs to be connected to the net because all the documentation is on the net, with no easy or even medium-difficulty way of obtaining an offline copy that I have been able to find.
- tweetle_beetle 4y agoI'm sure there are many interesting reasons to prefer Emacs to VS Code, but lack of offline documentation surely isn't one. Installing an Emacs package is not significantly easier or less technical than downloading a git repository. - https://github.com/microsoft/vscode-docs https://github.com/microsoft/vscode-docs - https://vscode.dev/github/microsoft/vscode-docs/blob/main/api/get-started/your-first-extension.md https://vscode.dev/github/microsoft/vscode-docs/blob/main/ap...
- hollerith 4y agoI cloned github.com/microsoft/vscode-docs during my explorations of vscode. It proved much harder for me to work with than the documentation for Emacs is. I downloaded some NPM package (pardon me if I don't look up which one) to serve the markdown files in the repo on a port on my local machine, which worked okay I guess, but I never found a way to search the markdown files that is more graceful than using grep on the markdown files, which gets me the names of the files of interest, then using the aforementioned NPM package to visit the file, then using the find command in my browser to search for the lines of interest that grep printed. Also, there is a ton of basic information about web development that I needed to learn to try to start modifying my vscode install which of course is not included in that repo (vscode-docs) and I never found an easy way of getting an offline copy of that information. In fact, IIRC I didn't even find troves of markdown files that could be cloned with git or other shell one-liners. Also, I have actually spent 100s of hours modifying Emacs "in anger" (i.e., although I wasn't getting paid for the work; the work was done as an earnest attempt to make my computing experience better or to make me more productive) while offline. Are you saying you've done the same with vscode? Heck: have you done that with any software implemented on web tech? I hope I don't sound combative: I really want to know if such a thing would become possible for me if I invested more of my time in learning web tech. I ask anyone reading this (not just the person I am replying to): is there anyone out there who routinely works on software implemented on web tech (i.e., browser or Electron or such) while disconnected from the net? For a definition of "disconnected", let us use this: it would take at least a few minutes of work (e.g., I must walk out of my apartment to another part of my apartment building to use the net) or at least a few minutes of waiting (e.g., I have internet service in my apartment, but I usually keep the modem unplugged, and every time I plug it back in, it takes a few minutes for the connection to come up and become usable).
- 323 4y ago> but I never found a way to search the markdown files that is more graceful than using grep on the markdown files, which gets me the names of the files of interest, then using the aforementioned NPM package to visit the file You can use VS Code itself for this, open in it the directory with the markdown files, use the VS Code internal search to find the file you need, and look at it in the internal VS Code markdown viewer.
- hollerith 4y agoI tried that, but did not stick with it. I am almost certain the reason I didn't stick with it is that I hated the internal markdown viewer. This was about 4 years ago. Thanks for your suggestion.
- hprotagonist 4y agoM-x package-install RET <name of package> RET at its simplest, anyway.
- srcreigh 4y agoDoes VSCode link you to the file a built in command is written in? In emacs not only can I read built in command source code. I can even change it and reload the functions on the fly. Sometimes I find config options by reading source code easier than documentation. C-h f <func>, click elisp link, C-s defcustom. I recently used this to fix horizontal rules for the doc polyps for rust language server. Turns out eglot uses eldoc which uses markdown-mode, and markdown-mode has an option for the character used to draw horizontal rule.. Tamsyn font doesn’t render Unicode em dash properly so I replace it with normal dash.