Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I just wrote about this exact progression from TextMate to Visual Studio Code (and why I think VSCode is the end of the road) here https://blog.robenkleene.com/2020/04/13/is-visual-studio-cod...


I mostly agree with what you've written. VSC is a great product and I can't imagine moving away from it.

However, the team behind VSC has made a couple of fundamental contributions to the IDE space that makes it's continued dominance less likely. The Language Server and Debugging Server protocols that were pioneered by them mean that language support is no longer tied to a particular text editor. Clangd (C++) or rust-analyzer (Rust) and other language servers will (mostly) work just as well on any editor as long as it implements support for the protocol. These protocols have lowered the barrier for entry for text editors.


I second this, I used to have VSCode installed alongside Vim, but LSP allows to have a proper autocompletion virtually effortlessly, or at least more easily than before.

Now I can't think of a reason to switch from Neovim :)


> However, the team behind VSC has made a couple of fundamental contributions to the IDE space that makes it's continued dominance less likely.

It has always really confused me why they made LSP. It seems like the exact opposite of something a Microsoft product would do.


My impression from what I've read about VS Code is that it has lots great lightweight IDE functionality (stuff that depends on parsing code), but it doesn't seem to actually have a lot of text editing functionality like Vim or Emacs does. It has multiple cursors, which is great, but that seems to be about it.

In Emacs I can quickly select by units of characters, words, lines, sentences, paragraphs, parenthesized expression, contents of a string, LaTeX environment, etc. And there are commands to sort lines or paragraphs, change case, apply rot13, run a google search, swap two units, delete text until the next occurrence of a character or a string, etc. Vim offers a similarly rich ranges of text editing operations. Does VS Code? If so it seems sort of hidden, I couldn't find more than a handful of text editing operations in the manual.

Maybe the IDE-like features are so good that people put up with a lack of text editing operations, but that doesn't really help people like me that mostly edit prose.

Another issue is that VS Code doesn't seem to be made for easy scriptability and extension. Emacs is so easy to extend, I'll often write commands I only ever intend to use while editing one particular file. For example, I was organizing a conference once and had file with all the talk submissions, each with an ID, speaker, title and summary. I had a little table were I was planning the schedule by putting talk IDs in the time slots. I wrote a command to insert a talk ID given the speaker name (with completion!), and command to flash the speaker and title of the talk ID under the cursor. With those, shuffling the IDs around was a breeze. This was a total of about 10 lines of code which took maybe 5 minutes to write, and it gave me a bespoke UI perfect for planning that specific conference. I stored the code in the same file as all the talk information and the timetable: neat, tidy and self-contained.

I know VS Code is extensible, but it seems to be pretty high-ceremony. As far as I know I can't type a JavaScript function in buffer, select it and press a key combo to suddenly have a new editor command defined. I think I need to package the code as an extension, and the code needs to be stored in files, maybe even in a specific directory structure with some metadata?

I would love to be wrong about both the lack of text editing features and about how cumbersome extending VS Code is. (And for all I know I am wrong, I haven't tried using it for more than a couple of hours --the impressions here don't come from that but from reading the online documentation and people's blog posts.)


The major concession I have for still using Emacs quite a bit in light of the elegance of VSCode you've pointed out is that I can do extended coding across multiple projects and runtime buffers without having to even think about reaching for my mouse.

This is also why I still use tmux come to think about it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: