Hacker News new | ask | show | jobs
by Vermyndax 784 days ago
I use vscode for doing devops-y things (Terraform, OpenTofu, JSON, python, yaml, txt, dockerfiles, etc.) and sometimes the way it bogs down my system drives me bananas. I'll punt to Sublime Text on occasion and use it for a few days, but then start running into papercuts in various places and have to go back to vscode. I so, so wish there was a better way to do this without fucking electron.
9 comments

Keep an eye on https://lapce.dev/ and https://zed.dev/ . Both immature, but show a lot of promise! Also both open source, so (in theory, I haven't tried) you can contribute patches to fic your issues
Man, Zed gives me hope, but it's missing so many features and (robust) extensions. Monthly I'll open it and see if I can start working with it, but the day still has not come.
Exactly.

Talk about something as simple as code folding. VsCode does the best job of it I know, and yet the other day it simply stopped working properly for pure JS code, not sure if that's because Microsoft prefers we use Typescript instead of JS. Nothing I did fixed it, and something as simple as that messes us with your workflow. And then I remember that VSCode has introduced a recent bug where after you collapse a piece of code, the file jumps to a weird location. And other paper cuts too numerous to mention, which seems to appear and go randomly

So I tried Sublime text again, only to find that "Collaspe All" does not work properly by design, whatever the reason for that. And it still insists on making many things un-ergonomic.

So I try Webstorm again, and after a few tweaks, it seems to do pretty much what I want. But, it is dog slow, and the display of collapsed comments is a bit weird. I start thinking of writing my own code editor...

My point is pretty much this: The various advanced code editors spend so much effort on advanced features, but they forget that the basic must work flawlessly for most devs to have a good experience. I wish they focused on the basics again to make common sue cases frictionless.

My guess is we have have a different 10% that we consider common use cases. Much the same way folks complain about Microsoft Office being bloated.
> devops-y things (Terraform, OpenTofu, JSON, python, yaml, txt, dockerfiles, etc.)

> I so, so wish there was a better way to do this without fucking electron.

I do all of those things in vim and it works fine. No GUI and I'm sure it's missing some fancy new features, but it's fast and reliable (and it's not electron).

I traded vim for VSCode back when VSCode was fast. These days, there is so much shit running in VSCode by default that it has become an unruly mess. I couldn't tell you what happens when I save or open a file like I could with Vim--what checks are being ran or what telemetry is being exfiltrated.

At this point it's just laziness and inertia keeping me on VSCode, getting my neovim setup back (along with the muscle memory) keeps getting pushed off.

I haven't been able to find an IDE use because their vim integration is only ever for the editor. But I hate having to constantly manage my vim config; I settled on using LazyVim and have been pretty happy. It's heavy as far as vim is concerned, but once you get used to it, it's nice being able to update and not have everything break hah
I had a ridiculously fine tuned neovim setup in my dotfiles that I created over the years, including a nice neovim terminal setup that I can navigate/change using only keyboard (never been a big tmux fan). I've managed to replicate some of it decently with VSCode (vim extension, and I can do CTRL+j to open a terminal and CTRL+k to move back to the editor), but it's just slow and has a tendency of crashing at the worst time.
There is some syntax highlighting for Terraform in nano, so maybe I should try rolling with the terminal for a while.
I have like 10 separate VSCode workspaces (windows) open at all times along with 2 browsers and dozens of tabs and I never feel like my system is bogged down.

In that sense I wonder if your computer just needs an upgrade?

I’m not advocating for e-waste but also if you’re a developer then you’re the most justified person to invest in a beefy system.

E.g., if you have any kind of Intel Mac, you absolutely should upgrade.

I don’t let my computers get older than 3-5 years because compromises to my workflow aren’t worth the cost savings (I just make sure I keep them in good shape and sell them to someone who is going to continue using them). I want to choose the best software for my workflow, which is not necessarily the software that is most resource efficient (that would be like choosing MS Paint instead of Photoshop).

Why do you think your issue has anything to do with electron? That sounds like a meme.

It is your drives, no? Does the browser make your system drives work a bunch? Much more likely, it is VSCode running ripgrep (rg in htop/activity monitor) in the background to find symbols in your codebase.

That would be exactly the same regardless of GUI toolkit.

edit: misread "system drives me bananas" as pertaining to "system drives" nvm

Its not electron, but abusing the webview rendering for realtime software'
Makes me glad I stuck with vim.

I do pretty much the same thing as you, what made you use vscode in the first place? What are the coolest features in your context?

VS Code has a strong plugin ecosystem, and is built around plugins. You can find plugins for everything, so whatever linting, code formatting, back end integration, custom renderers, menus, etc you want you can build and plug in if they aren't available already. Beyond that access to a project tree view / definition list toggle on the side, debug code at cursor, context menu options to refactor/find usage/etc, and easy pixel perfect control of pane layout when working with multiple documents simultaneously.

I never got that deep into vim/emacs but I wasn't impressed with their versions of the features I listed compared to what is available in a good IDE like intellij/vscode. I do wish the performance was a bit better but I have a beastly workstation so it's not a big deal.

I'd say everything you described is true of vim as well, especially nowadays with LSP and tree-sitter and async capabilities in plugins. The plugin ecosystem is thriving. Neovim's lua api makes it even easier to develop plugins.

It does take a fair bit of configuration if you want to start from scratch, but there's also distributions (such as LazyVim [1]) which make it trivial to start from an editor basically as fully featured as VScode.

Of course, there's still the learning curve for a modal editor, but that's the whole point of using vim. I assume there are vi-style plugins for VScode, but then you're missing out on performance.

1: https://www.lazyvim.org/

As well as its own plugins Vim/NeoVim can use VSCode's LSPs, DAPs and extensions either directly or via plugins like CoC[1] and Mason[2].

I would be surprised if emacs couldn't do the same.

1. https://github.com/neoclide/coc.nvim

2. https://github.com/williamboman/mason.nvim

VimL can be cumbersome, but I believe Lua in Neovim can be nicer to work with. But if you’re pressed by time or the task is not that important, I’d say VSCode is good enough. But everything is mostly a CLI away and VIM is especially good interacting with CLI tools. And Emacs is an operating system for texts.

I’d go with Jetbrains IDEs for their language stacks though, because they’re really good at what they do.

Seems like a lot of training wheels to me. I mean linting, formatting can be done by piping buffer into external programs. Not sure what back end integration means but you can accomplish a lot with just bash+vim+tmux (or zellij which I recently switched to).

The disadvantage is of course that it's not integrated, but the advantage is that my editor never crawls to a halt.

Training wheels isn't a fair characterization, the IDE tools are just better for a lot of use cases. I haven't had an IDE grind to a halt since earlier versions of IntelliJ on some large codebases back in ~2016 where the internal linting process lost the plot. Mostly they're just memory hungry and they start up slower.
IMO, the big is one good/smart programming language support, either out of the box or with a few clicks. If you know vim well, the vim plugin has serious limitations though. On windows/linux the reliance on home/end/pgup/pgdn/arrow-keys/del/mouse etc... is atrocious if you are used to vim so the vim plugin is still a life saver. The remote dev extensions also pretty good.
Except for the occasional python I don't need to touch any of that. I'm the author, try looking the editor up in 3 or 6months. It may have most of the papercuts solved. I went after the big things that I had no time to implement the little
Paper cuts like what? Deficiencies in the syntax plugins?
* Drag/drop support from Finder. * Git pre-commit chokes Sublime Merge (for some weird reason), I'm sure I can troubleshoot this but I every time I take a swing at it, it blows up in my face and I give up * Strange autocomplete issues * A few other things I forget about, but will try it again and see if I can remember
It's the terrraform part of the LSP that's buggy and there's an issue open for that on Terraform extension's GitHub repo.
Yeah, the LSP does seem to go through some seriously bad days/weeks.