Ask HN: Alternative to VS Code?

  • Seconding IntelliJ. It's not just an IDE for Java: the ultimate edition has everything from GoLand + RustRover + WebStorm + PyCharm (see https://www.jetbrains.com/help/idea/discover-intellij-idea.h... ; it doesn't supersede CLion (C++), AppCode (Swift / ObjC), and Rider (C#)). And it has jump to definition, see documentation, etc. IMO it has more quality-of-life features and they are are faster and fail less than VSCode's.

    The main downside of IntelliJ is that it can be memory-intensive and slow, although perhaps not as much as your VSCode. Anecdotally, performance has been fine for me on an M1 Macbook Air, and 4GB more than enough memory, but my projects are probably smaller than yours.

    Another option is Zed (https://zed.dev/). Being very new, I doubt it has all of VSCode's features. But it does allegedly work with 100+ languages, and it definitely has jump to definition and view signature (https://zed.dev/features#navigation). Zed should be particularly fast and efficient, and being new will probably gain missing features faster than the others.

  • JetBrains makes several IDEs competitive with VsCode, but not free.

    I also stopped using VSCode because of the bloat, which seems mainly caused by node + npm on the remote server. And I've seen it consume all the RAM and too much CPU for an editor.

    I know you already rejected Neovim as too much a step back. I went back to plain vim with ripgrep and ctags, ssh/mosh with tmux, my long-time setup, and I'm good with that. No LSP but I can live without that, vim Omni-complete usually good enough.

  • First of all, you can try to update VS Code to the latest version. Sometimes, memory problems may be caused by bugs in older versions, and new versions often fix these issues. You can also check the installed VS Code extensions. Some extensions may have memory leaks. You can try to disable some non - essential extensions and observe whether the memory usage improves. In addition, regarding the WSL memory settings, you can further optimize the configuration in the .wslconfig file, for example, adjust parameters like pageReporting to better manage memory allocation. For alternative editors, you can consider IntelliJ IDEA. It has good support for a variety of programming languages and has specific configuration options for WSL, which can run well in the WSL environment. Although it is an IDE, if you are used to the rich features of VS Code, the feature set of IDEA may also better meet your needs. Did you encounter any difficulties when trying the above optimization methods for VS Code?

  • As has happened before, I have to plug this stunningly underhyped editor, TextAdept: https://orbitalquark.github.io/textadept/

    Minimalist fast native (not browser-based) code editor for Windows, Mac, Linux, BSD. Both a terminal TUI and a native-GUI version for each. First-class (ie. by same author) LSP package. Fully Lua-scriptable for needs beyond LSP. Succinct C & Lua code-base. FOSS, and matured & maintained ever since 2007. All the basic table stakes (syntax coloring, multi-select-and-edit etc).

    Woulda skipped on Sublime back when, had I known about it then.

  • I did a cursory search of this, but it looks like you might be able to get Notepad++ to do what you're looking for. It's certainly not an out of the box experience, but it might be something.

    https://unix.stackexchange.com/a/600508

  • Recommendations, use a flavour / distro of NeoVim.

    I use Vim because I enjoy fitting Vim to how I think. But since the love story of Vim-based setups are long gone for you, I'd recommend picking up one of these new distros for Neovim — there are not as many i know about in pure Vim.

    I've heard good things about Lazy.nvim and Astro.nvim.

  • How about installing VS code in WSL and use that (instead of Windows VS code connecting to WSL, WSL can run linux GUI apps)?

  • I’d be curious to hear more about “honestly the integration with LSP servers is poor at best.” That hasn’t been my experience so far, I’m curious if that’s because of the language? Other reasons? Where do you find things being poor?

  • > I tried neovim, but the days when I enjoyed a vim-based setup are long gone, and honestly the integration with LSP servers is poor at best.

    I use Vim, not neovim, and I use coc.nvim; it supports LSP servers just fine, I'm quite pleased!

  • Cudatext has small memory and CPU requirements, I prefer to use it for legacy workstations.

  • I have been using Zed since they support SSH access so far.

  • JupyterLab or Notebooks is also an option to look into.

  • Linux + VSCodium

  • What about GitHub code spaces?

  • Emacs