13 ms·
I don't use Zed, but do use Neovim but people make similar arguments. If I have access to a LSP and DAP, also do most of my refactoring through c tags and vim
by shimman 5mo ago
I don't use Zed, but do use Neovim but people make similar arguments.
If I have access to a LSP and DAP, also do most of my refactoring through c tags and vim grep (or grug-far if I want to be fancy). What IDE specific features am I missing out on that can't be replicated?
Being earnest here because I always screenshare with co-workers doing a variety of things and there is nothing I ever see that is impressive or makes me want to switch.
- kstrauser 5mo agoWe're not missing anything, or at least not anything I actually miss. I had a previous supervisor who chided me for "not using an IDE" because I was using Emacs -- Emacs! -- and insisted I should use something more featureful. First, that doesn't exist, and the notion's laughable. Second, I have every feature I actually want to use in Emacs (and Zed and even *vim), and have no reason to believe that any random bullet point someone might come up with 1) doesn't exist in those editors, or 2) that I'd use it anyway.
- ozim 5mo agoDebuggers are much better in JetBrains or Visual Studio than using just an editor.
- kstrauser 5mo agoHad you honestly imagined that Emacs doesn't have excellent debugging tools?
- pjmlp 5mo agoNo it doesn't, unless it magically got them since XEmacs, with someone taking the effort to duplicate all features in ELisp. Running gdb as subprocess, with breakpoints, step, run, continue, is the basic stuff.
- aki237 5mo agoRecently been using emacs' inbuilt debugger. Honestly it is nuts, how good it is.
- pjmlp 5mo agoNow try to visually display all the threads being executed and the dependency graph who launched each thread. https://learn.microsoft.com/en-us/visualstudio/debugger/using-the-parallel-stacks-window?view=visualstudio https://learn.microsoft.com/en-us/visualstudio/debugger/usin... Followed by doing some code change and hot reloading it into the debugging session. https://learn.microsoft.com/en-us/visualstudio/debugger/edit-and-continue-visual-cpp?view=visualstudio https://learn.microsoft.com/en-us/visualstudio/debugger/edit... While using binaries compiled in release build by default, https://www.youtube.com/watch?v=YnbO140OXuI https://www.youtube.com/watch?v=YnbO140OXuI All of it in C++.
- cptmurphy 5mo agoCan it be done using standalone debuggers? I don't mind switching between a text editor and a debugger
- ozim 5mo agoI imagine that just way more work was poured into VS/Jetbrains debuggers and that they have better UX and better features. I don’t have to offer my soul to make it work just pay money ;)
- kstrauser 5mo ago> I imagine that just way more work was poured into VS/Jetbrains debuggers I'm fascinated at how vastly different our perspectives are. From my POV, I'd be shocked if VS/Jetbrains had a fraction of the work poured into them that Emacs or Vim have.
- delta_p_delta_x 5mo agoVS and JetBrains IDEs have very good sane defaults. They're usable out of the box. In VS I load a .sln file, or a project containing CMakeLists.txt, press F5, and I am debugging with a full-fledged data structure visualisation, CPU and heap profiling, and I can even add in time-travel debugging with a couple of clicks. I have to manually set all of this up in Vim or Emacs, and frankly the debugging experience in GDB or LLDB is worse than it really ought to be. People actually need to use good tools to understand how nice things can be.
- pjmlp 5mo agoTry to debug a CMake file, do hot code reloading for C++, or debug release binaries with Emacs/vim. Just three examples out of many others.
- lenkite 5mo agoI think you need to try the Jetbrains debugger first - anyone who has used it would never compare it with neovim or emacs.
- throwaway7783 5mo agoI'm in the java ecosystem, so YMMV. - Automatic spring service detection - Debugger (remote, local , with access to state, stack and ability to modify the state while stepping through), though I assume this is possible with neovm? - built-in profiler - can run individual tests seamlessly - understands bytecode enhancers like Lombok - Find Usage, find symbol, language specific navigation, showing class hierarchies, going up/down the hierarchies etc (maybe in conjunction with LSP, other editors can do a decent job?) - Advanced refactoring (extracting classes, interfaces, inlining functions, extracting functions/methods) - built-in database explorer - built-in Git support (I have struggled mightily with VSCodes git interactions - but this might just be an individual preference) - markdown/html previews Basically, I barely have to get out of the IDE.
- giaour 5mo ago> - can run individual tests seamlessly This is the main one for me. If I am working on a large project with decent unit test coverage, the feedback loop in IntelliJ or Visual Studio is just much quicker than the alternatives because you can run and debug the specific tests you need.
- j_w 5mo agoWhy can you not run specific tests from neovim? If you really wanted to you could add some trigger on save for a file that would re-run tests for said file. Maybe a plugin or key bind could run a specific test which you choose in buffer.
- giaour 5mo agoI'm sure there is a way to use a step debugger with a specific unit test in Neovim or whatever, but it's one of the things heavyweight IDEs do with no setup or configuration.
- matttttttttttt 5mo agoCharacterizing Zed as a text editor is disingenuous. Zed has documentation, go-to definition/usage, local/remote debugger, can run/debug individual tests, has git and markdown. Essentially all the core IDE functionality is there. All of these work as well or better for Rust in Zed than IntelliJ. ByteCode decompilation is a very Java-specific thing and I've not used Zed for Java yet. I suspect that they'll get around to it eventually if they don't already have it. I've never used database plugins in any IDE I've ever used so I can't compare/contrast between Zed and JetBrains products. However, as soon as I see an IDE gain a database plugin, I know it's the beginning of the end for that IDE. After the database plugin is the CSS minimizer, the JavaScript Bundler, I guess the AI plugin is the new hip thing. For the twilight years of my IntelliJ/CLipn usage, the first thing I'd do upon installation would be to go remove all the damn plugins.
- robhlt 5mo agoMy problems are mostly with the language servers. I've always found them to be slower, consume more resources, and provide worse results compared to the equivalent JetBrains IDE. I've tried Python, Rust, and Go within the last few months and found this is still the case. Go is the worst of them, on larger repos gopls will easily consume 3-4x more memory than GoLand with far worse responsiveness on completions.
- ElectricalUnion 5mo agoJetbrains IDE, sure, they take their sweet time indexing your project, but once per start. The Java LSP is a egregious "thing" that takes 10 to 30s to read your whole project for the n-th time while eating 40GiB of RAM in the process. On a loop, EVERY time you view a new file. Where is my goddam lsif/scip support?
- mike_hearn 5mo agoYou shouldn't be seeing indexing once per start. The indexes are stored to disk. You might see the IDE scan files to figure out if anything changed whilst the IDE was stopped.
- ElectricalUnion 5mo agoHow did you manage to get the Java LSP to do that? Mine just insist on re-parsing the entire codebase every time I view a file.
- mike_hearn 5mo agoAh sorry, I've never used that. I was talking about IntelliJ and related IDEs.
- jghn 5mo agoThe built in debugger & profiler are the big thing above LSP equivalence for me. I know it can be done, but it's not the same.