Spyke
programming·Programmingbyrklm

What's your favorite IDE right now?

I use vscode for my personal projects (c++ and a fully open source stack, compiling for both Linux and Windows).

I'm using the proprietary version of vscode (via the aur) for the plugin repository, but I've always envied the open source version...

Are there any tools that have made you excited?

Bonus points if they have some support for compiling with MSVC (or if you can convince me to ditch it for something else).

View original on lemmy.dbzer0.com
sopuli.xyz

I’ve been on the JetBrains bandwagon for a long time and no desire to switch.

40

I found most people don't realize the many tiny features it adds over for example vscode (even with all the best plugins enabled yadayada) which in sum make it a much smoother developer experience.

Instead they open it for the first time, type some lines and say it is on par with vscode.

7

Thought I was going to show my inexperience because so many posts here are Unix/vim. I'd love to be that kind of wizard... but I think Adobe has spoiled me for UI and JetBrains definitely has that vibe (maybe for the worse just as much as the better)

2

Right now, the jetbrains IDEs are my favourite because they are proper IDEs, not some editor with a bunch of scripts in a trenchcoat pretending to be an editor. But the company is starting to lose touch with its customers: developers who want an IDE for productivity, not a VS Code lookalike. It's like the company is finally being taken over by managers who don't know lick about development and it's starting to show (at least to me).

Now, I'm on the market for a new editor and even willing to pay, even though I'd prefer paying for an open source IDE. Right now, Zed is looking interesting. The only thing that bothers me is how loud people were about it. Hype destroys my faith in stuff as it's often just good marketing. Another thing that bugged me is that when they started, they were "Mac first, Linux maybe". But now that the hype has died down, there's much less "omg, zed is the new editor and it will be better anything else" type posts, and it supposedly works on Linux, I can give it a try.

Anti Commercial-AI license

34
credicsreply
sh.itjust.works

Same feeling about Jetbrains. I always upgraded to the latest Pycharm version until now. I actually downgraded from 2025 to 2024, because I don’t like the new UI.

6

I agree with everything you said about jetbrains. Their vs code like push and AI push has degraded their quality.

5
koalareply
programming.dev

I switched to Emacs over two years ago because I was getting too comfortable in VS Code. If VS Code didn't have the "dodgy" stuff, I would recommend it to everyone without reservation.

Emacs has been a pleasant surprise. The latest versions have introduced Eglot (LSP), EditorConfig and a few other odds and ends that make it very close to being usable with very little configuration. My latest suggestion for getting started is JUST two lines of config, and I think you can scale easily.

I just wish Emacs had started from the outset with more common keybindings- it makes it hard to recommend because you need to make a significant investment. I think it's worthwhile, but still...

However, due to how it's evolving lately, I suspect it might become even easier to get started with time. If they rolled in to base Emacs automatic LSP installation, that would be huge, for instance.

6

I just wish Emacs had started from the outset with more common keybindings- it makes it hard to recommend because you need to make a significant investment. I think it’s worthwhile, but still…

Surely you mean, "I wish Microsoft had adopted the standard Emacs keybindings."

2

for some people it's nice to start from nothing and build up config, I'd recommend doom for anyone else. it's nice to be given a file with all the settings you can change instead of having to do it all yourself.

2
lemmy.ca

Neovim

I tried using VSCode because of the copilot integration, but frankly copilot is underwhelming for me. I gave “vibe coding” a shot on a personal project and the results were slower than just doing it myself.

I’m back to neovim. I’m very productive in customizing it and can never go back.

25
daftareply
lemmy.blahaj.zone

There's avante.nvim for LLM integration, it supports most if not all LLM vendors at the moment.

I tried it, however, and got to the same conclusion as you. Not worth it.

6

I found the rough areas did different by model

e.g. Claude could not correct issues it introduced, it would sort of spiral through half refactors for an hour if unchecked.

Gemini Pro asked for way too much permission. "Should I do this?" Yes, go, do it! "Okay, should I now add my edits" Yes. "Okay I added edits, now we can run make test", okay run make Gemini requests to run make ugh it's worse than a bad intern.

Gemini would also frequently hallucinate APIs because I used a non-standard api for my hash table (allocate/dereference instead of get/set/update, which I find is more natural for managing ownership). And Gemini would rewrite my code style and order of operations for no reason (eg move a counter increment before updating another field).

At no point could I just point the model at a small problem unsupervised. Even "update the test suite for 100% coverage of this module, make sure the tests are as small in scope as possible" had highly mixed results.

And all models I tried would update my cmakelists and break it, and I hate dealing with cmake.

I've been told the new Gemini is good at SQL and programming, but I'm underwhelmed on both. Gemini frequently doesn't even know all the BigQuery functions, which being integrated into BigQuery Studio it should.

They're decent at code review, but a language server is still better at catching bugs.

3
lemmy.world

Used to use vscode, then one day it stopped working for me. I've been using Helix full time for a few months now and I'm pretty happy with it.

19

I used vim for all of my personal stuff until switching to vscode a few years ago, so an editor inspired by neovim is exciting!

Also,

No Electron. No VimScript. No JavaScript.

Hah! Shots fired, I love it

3

I really want to switch from VSCode to Helix but not having a file tree is a deal breaker.

Luckily there's been a lot of work on adding a plugin runtime with one of the proof-of-concept plugins being a file tree. Assuming the plugin runtime comes out this year in a helix release, and adding on a year for the community to settle on the first wave of plugins while giving them time to mature, I can see myself using helix fulltime in 2027 (before Microsoft has enshitified vscode enough to be unpleasant to use).

2
RamenDamereply
lemmy.world

I just started a Python course. My tutor uses Thonny and I have tried Pycharm previously and prefer it. Maybe because I am lazy or because I prefer all the autofill I can get. And I need all the highlighting. I am code blind.

5

That's not being lazy, that's pretty much using the tool that was made exactly for this purpose.

4

Static typed languages usually have better auto fill suggestions than dynamic ones. It's harder to make good auto fill with dynamic languages so.

2
rklmreply
lemmy.dbzer0.com

I had some coworkers a long time ago who swore by jetbrains, but I've never tried it. Maybe I should give it a shot!

4

Using a new IDE is always a painful undertaking TBF.

I switch from visual studio to rider in order to better support my co-workers on macs. And I have never looked back, it's just too damn good.

Though, the settings for exceptions and when to break are never right for me. While VS has it right, right out of the box.

1
programming.dev

The Unix shell remains an excellent IDE.

A huge array of text- and data-manipulation tools, with more available through the standard package manager in my operating system.

Add in a powerful text editor like Vim or Emacs, and nothing can beat this IDE.

15

Yep. When everything about your IDE (unix) is programmable, it makes "modern" IDEs seem quite quaint.

Personally I make extensive use of https://f1bonacc1.github.io/process-compose/launcher/ to orchestrate a bunch of different shell scripts that trigger based on file changes (recompiling, restarting servers, re-running tests, etc.). Vim just reads from files as needed. It's lightning fast, no bloat, and a world-class editing experience.

3

Zed is definitely my go-to these days. Used to have vscode but the sluggishness just became too much for me. Zed does what vscode did right but faster.

15
lukalix98reply
programming.dev

So this is the image originally posted here somewhere, or was it on reddit, asking about which linux distro was it, and the screenshot (bottom left corner) was from the landing image on the link you posted.

2

I use helix editor in the terminal (Technically not an IDE but neither is VSCode). Works great for a keyboard and terminal-centric workflow. I had to configure it a bit to get it where I want but after that I had a blast to write Rust projects in.

It does get a lot of getting used to if you're not used to vim-like keybinds, and does take memorizing shortcuts

11

Helix is awesome. I've spent many hours these passed months configuring both Sway and Helix to my liking, and it has become joyous to use them together. I prefer Helix's default configs to vim's. Still got to use Vim motions a lot though, in Obsidian etc. Similar in many aspects, but there are many small things Helix does which I find more logical. u for undo and U for redo. Small things.

5

My three IDE’s of choice in order of preference:

  1. EMacs: ultimative workhorse which can do many more - especially with org-mode (however, time intensive to configure which is why I used also ChatGPT to get it done)

  2. VSCodium: easy to manage almost anything due to its huge number of extensions

  3. Vim: don’t know, sometimes I feel the need to work with Vim and it’s many shortcuts

All are free and open source.

11

Vim for most things. Vscode for js things. Jetbrains for specific stacks like all Python or such. VS for .net.

IDEs sure come and go, buy I seem to always go back to vim after a while.

9

VSCodium, with vim mode enabled. Came from neovim which still is the fastest experience ever but I had plugins break too frequently after an update. Besides vscode has some nice features (visual git tree for example) that neovim lacks.

8

Qt Creator is my favorite IDE. I'm mostly worrking in C# these days and I so miss it.

2

I've tried lots of options, and I still go back to vscode.

I've extensively used neovim and it has been my main IDE for years, but I got tired of having to spend entire afternoons configuring it. And I had too many total breaks, that had led me to recently abandon it as an IDE, still use it sometimes but much less. It relies on too many plugins, which makes breaks more common imho.

I tried helix. But features are far from what I expect for an IDE, even a modal command line one.

On the gui territory, I tried Lapce, but it's still buggy and lacks features. Development pace is slow enough so I don't consider it could become my ide in the near future, I have hopes for it, but not much as it could easily become abandoned before it's usable.

I wanted to try Zed, but they seems to have a preference for macOS, which may have sense in the US but here I don't remember the last developer I saw using a mac. There's now a linux version, which I may try at some point, but some people commented that while in a better state than Lapce it's not still a production ready option for an text-editor-IDE. Also the company behind it doesn't inspire trust to me. There's something about it that smells fishy, I cannot quite put my finger on what, but there's something.

There are more options, some obscure, some old, some paid. For instance I usually hear good things about jetbrains ide. I tried intellij community and I'm not impressed, it's slightly better than eclipse, but it's not on the level of visual studio for dotnet. I'm not a student and I don't get paid for my hobby developments so paid options are a no-go.

So it is visual studio code for me. Sometimes I still use neovim, as I really like modal editors, and vim/neovim is my go to text editor anyways. I'm due to try emacs, and I'm hopeful for the future of both helix and Lapce, though I manage my emotions as I've know too many projects that just never deliver, so I'm cautious.

7

Currently I use Code OSS, which is less my favorite but it works.

Out of all the IDE's I've tried (vscode, webstorm, Code OSS, Kate, KDevelop), regular old Visual Studio 2022 is still my all time favorite, using it is such a smooth experience.

Its biggest flaw and why i had to switch is no linux support :(

7
feddit.nl

I use Code OSS with clangd and the nvim extension (because Microsoft disabled their c/c++ tools) because i want access to the nrfconnect extension pack as a beginner. I don't have to go searching in the documentation and compiling, then recompiling 10 times to self-discover the required devicetree parameters and figure out what drivers are available vs mainline zephyr.

Plus the debug interface works well.

For everything else possible it is vim/neovim, but I haven't been able to find good neovim setup for nrfconnect.

6
feddit.nl

Nope, I don't know the difference really. I think my arch distrobox had code oss marketplace extension as a package (to get nrfconnect auto updating) so maybe that's the reason?

1

I don't know! I've seen two people in this thread specifically mention Code - OSS and I've literally never seen anyone else use it so it was intriguing. Whenever I see folks using something other than VS Code I am happy. Fuck fauxpen source. (VS Codium is actually open source.)

2

Jetbrains IDE's are top tier (but resource hungry). A text editor with some plugins is fine for smaller projects, like zed, sublime text or neovim

6

I am using it, too. I whish the vim-mode was a bit more complete.

2

I've been using neovim for years (and the vim family for decades), and I guess with LSP it's pretty much an IDE these days.

6
lemmy.ca

Pycharm is great for Python. The style enforcement is fantastic.

5

I really credit my present strength with Python, in at least a small part, to PyCharm. Really a great IDE for Python projects. It irritates me, if anything, how much more flexible VSCode can be for non-Python stuff. I end up using VSCode.

1
ZweiEuroreply
lemmy.world

Tmux + neovim is really great once you get past the learning curve!

6
astrskreply
fedia.io

Any advice? I’m trying to get a handle on it but I’m having trouble remembering anything or finding what to do in the first place.

2
ZweiEuroreply
lemmy.world

This advice will seem rather generic but this has worked for me. Background: I've been programming for a good 15 years in various languages and mainly in VSC and veeery long ago in the arduino IDE (I do not want to talk about those dark times).

  1. Get a pet project to try this against. Learning controls for the sake of it, is ... useless. If its just text, there is no intuition or goal. I chose to try and teach myself rust and go through the learnopengl tutorial again and change it to work with miniquad-rs. Maybe pick something you are familiar with! A new language is a rather tall order usually.

  2. Get a functional config and edit it. Personally kickstart.nvim is really nice for generic settings, but their setup of plugins, and especially LSP (language server config) is really hard to read and difficult to parse. My recommendation for setup:

2a. Copy thePrimeagen's config ( https://github.com/ThePrimeagen/init.lua/tree/master ) which he creates with this tutorial: https://www.youtube.com/watch?v=w7i4amO_zaE NOTE: The actual config is using lazy now instead of the plugin manager he has in the tutorial! the broad strokes are the same but e.g. there is no "after" for the plugins and some other details. What he says about general vim config is still correct tho. Also lazy is much simpler, no longer do you need like 20 different packages for each LSP. (edit: found what makes it work on my setup it https://github.com/nvim-lua/kickstart.nvim/blob/6ba2408cdf5eb7a0e4b62c7d6fab63b64dd720f6/init.lua#L487 its mason-tool-installer in kickstart)

2b. Make a subfolder like lua/theprimeagen e.g. lua/$USER.

2c. Comment out this line https://github.com/ThePrimeagen/init.lua/blob/158c9ccd652e5921cc6940205da6ed20776e7cc7/init.lua#L1 and instead require yours.

2d. open .config/nvim in VSCode (yes, it would recommend using something you know to edit)

2e. line by line, file by file, go through the config files and his video and add what you think is interesting. This took me a good 5h (a good days work) to get somewhat done.

2f. Also look at kickstart.nvim! Theprimeagen is a pro at this stuff so he has no descriptions for his keybindings! (Which you can add when you use e.g. vim.keymap.set("n", "<leader>pv", vim.cmd.Ex, { desc = "[p]roject [v]iew"}). ( The [] are just for niceness, no syntactic value). Why does this matter? -> Because kickstart.nvim has a config for the mind-blowingly useful which-key plugin ( https://github.com/nvim-lua/kickstart.nvim/blob/6ba2408cdf5eb7a0e4b62c7d6fab63b64dd720f6/init.lua#L302 ). Which shows hotkeys and their description while you play with em! Really good for learning!

  1. When making your config absolutely ignore anything that is not in the "top 10 things you do in any other editor". E.g. I really only need "go to definition", "go to file" (which is a telescope fuzzy find), "find references" or "rename". ThePrimeagen has really words of wisdom here "If its something you do rarely, fuck automating it, only automate it when its actually worth remembering the hotkey".

  2. In general you want to reduce friction between thinking, clicking and on-screen action. So anything like "oh what if I want to have a hotkey to rename a C++ header file AND its source file in one go" is a good deal too complex. Keep it super simple.

  3. learn how window jumping with stuff like :vsplit works in nvim, it works great!

  4. For Tmux, you only really need whatever this legend says: https://www.youtube.com/watch?v=vtB1J_zCv8I Sidenote: I made my first project a simple Tmux script that is exactly what fireship describes and launches pre-defined sessions. Works great!

  5. learn by doing :D

Struggles:

  • Moving with hjkl is painful at first, but believe me it is goddamn worth it. I deactivated the arrow keys and mouse clicking altogether so I don't accidentally do it. Also you will be using wb and tf mainly anyways! (word, back, to, find).
  • Learning the nvim internal file browser (netrw) is worth it!
  • Lua is nice but I have never used it before doing this a few days ago. After each plugin restart vim and check for any errors. If you copy something outdated or otherwise problematic you want to fail fast instead of end up with a tangled mess of configs that you need to throw out entirely.
  • Editing nvim configs while in nvim is dumb and really annoying. Just do it in VSC or something you are familiar with.

Random misc:

  • Insane plugins: UndoTree (which ThePrimeagen uses)

  • Insane keycombos: e.g. you are somewhere inside of "Some Really long string that you might wanna change or copy". normal mode. vi". -> v-> visual, i -> inside of, " -> whatever you wanna be inside of. It will select the entire string inside the ". Yes i know this is basic but this shit is SO useful. Works with ANY delimiter (afaik) like ([{

  • DuckDuckGo actually is navigate-able with hjkl! Pressing j to go down the results list is really useful. I am using hyprland so ctrl+tab focuses a browser window. Ctrl+t new window. Type in search. Enter. Go up and down down with jk. really nice, no mouse needed.

Links: The entire primeagen playlist: https://www.youtube.com/playlist?list=PLm323Lc7iSW_wuxqmKx_xxNtJC_hJbQ7R

kickstart.nvim: https://github.com/nvim-lua/kickstart.nvim/tree/master

Note: I would share my config but my dotfiles are on my own git server and have sensitive info inside I don't feel like cleaning out

5

Thank you! This is a wonderful post, I will take another shot this weekend and hopefully something will stick this time :)

1

After being a vanilla vi then vim user for a long time before switching to neovim, I find folke's which-key plugin to be very helpful. If i begin a key shortcut combination (or press my leader key), it shows me all the keys I can press next, and again after each additional step of a multi key sequence, and what each key sequence does. it works for mappings Ive added (usually basically the defaults for a new plugin) but also the standard built-in preset keymappings (see the 'built-in' plugins for which-key) for things like window mamagement and motions, using/viewing the registers (what did I just yank?), even spelling corrections, which helps you learn and build muscle memory. Often I dont use a specific mapping for a while and this helps me find it, especially when I group mappings by plugin, and/or prefix all mappings for a particular plugin or task with an additional prefix letter, so they all appear as options when I get as far as rembering "all my debugging mappings start with my leader key, followed by d." By grouping tasks and plugins that way, I can press my leader key and see a list of where to go next, almost like browsing a menu hirearchy. "i dont remember which button to press after leader and d to toggle a breakpoint, but I know that's where I'll find it"

3

I love Eclipse for Java and QtCreator for C++/Qt. Eclipses auto-complete switched between psychic and psychotic at times but its integration with tools such as git and gradle is second to none. I never drunk the Jetbrains koolaid.

4

I've gone through Visual Studio, JetBrains IDEs, Vim, Atom, Sublime, VSCode, probably others too, but frankly VSCode's simplicity out of the box coupled with great plugin support is hard to beat. Folks who complain about VSCode not having some feature like to ignore that being relatively simple by default is a good thing. You can always add or enable what extensions you need to tailor it to your language and workflow of choice. Even if you're used to Vim keyboard centric editing...guess what? There's a well supported OSS extension to give you that functionality.

The power of being able to use one IDE on a diverse team across various languages is huge. You can even commit extension and settings defaults to a repo to immediately get new cloners up to speed with whatever workflow and tooling defaults are good starting points on a per project basis, but still leaving them the option to ignore/override as needed without dictating a team-wide workflow change.

4
lemmy.ml

Professionally I do use VS Code but at home I have Lapce installed. It opens really fast. I don't do anything extensive at home so I haven't explored the plugin ecosystem yet but it's fast. That's most of what I care for at home

4

I started using Helix editor a while back, and it hasn't disappointed yet. One important thing I've not yet got to work is Python debugging, so for that I usually switch over to VSCode or PyCharm. Otherwise a very good editor.

4
lemmy.world

Microsoft just released Edit a couple of days ago. At least it's not bloated, and it's cross-platform.

4
ulternoreply
programming.dev

Edit

That is bloat!

Just look at the number of files required to build it. Just for a text editor!

A single Makefile and a source file should be enough!

Just use ed man!

5
pHr34kYreply
lemmy.world

The final release is a 700KB zip file containing a single .exe.

Sure, that's bigger than the original "edit.com", but it's not the 90MB install you'd expect from MS.

1

Yeah!

Why do you need to capitalise the 'e' and add an 'i' and a 't', when you already have something much less bloated like ed


ed, man! !man ed

1

Neither of these are IDEs (nor is VSCode), but it'd be Zed and Neovim for me. Zed is fast and pleasant to use, but also will enshittify eventually. Debug support is in progress but not live. Neovim is fun and it's nice to be more in control of what is going on, but I haven't made the necessary progress to be productive in large projects with it yet. I was excited for Lapce but it fell short, had too many issues in a short time.

3

That looks interesting, I see it's been discontinued 2 years ago though, is there a maintained fork that you use?

2

Jetbrains Rider for C# and VSCodium for arduino / microcontroller programming.

I’m trying to learn my way around the tmux + neovim life but the learning curve might be too much for me.

3

VS Code at work, Zed at home.

Despite Zed crashing my laptop every once in a while, it's been a refreshing change-up from VS Code.

I use a vim extension in both btw...

3

Vim when I can, and when I can't, Neovim with plugins (LazyVim). Both are fast. I have had troubles with Neovim and configuration, and it does some things that really annoy me (like autoclosing parentheses - it just messes up everything). Honestly, the only feature that I really need is Go To Definition.

But vim - I absolutely love it. I started using it nearly 20 years ago and it still does everything one could want if you're willing to learn the keymaps and commands. Macros, ci), block indentation and so on. It's even great for editing XML. If the codebases I'm working on these days weren't so large and complicated, I would still be using it with very little configuration in my .vimrc.

3

That is not a vanilla NeoVim feature. This is done by some plugin of LazyVim like Josh suggested.

1

VSCod(ium). Jetbrains IDEs are arguably better (I've used this some in the past), but I like OSS and having all languages in one IDE (even though some languages may not be integrated as well as others).

3

Vscode when I'm feeling productive, neovim when I'm feeling saucy

Hate pretty much every other ide out there, but do occasionally get forced into Android studio or xcode. Xcode is the worst, msvs a close second.

One day a multi cursor first multi-language extension lightweight ide will replace vscode I'm sure but it's solid for now.

2
programming.dev

My preference is Visual Studio. For some technologies, and mass-text-replace, I use Visual Studio Code.

A long time ago my main IDE was Eclipse for C++ and Java before that. Recently, I've tried RustRover for Rust as an alternative to VS Code.

2

Visual Studio debugger is still best thing ever. It is strange how much poorer vscode's debugger is compared to visual studio.

2

Lately the most frequent ide/editors I've been using are sublime text, eclipse, and teXworks. I'd like to replace sublime text, maybe go back to emacs or give neovim a try. I'll probably get rid of eclipse once I can replace the ee containers with self contained apps, I used vs code for a bit with java and it was fine but the ee server container integration wasn't great, this was a couple years ago I last tried though.

1

Rider for Unreal Engine at work. Neovim at work/home for literally everything else (web, golang, python, zig). I have vscodium as well, a glorified config file editor basically.

1