95

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).

(page 2) 50 comments
sorted by: hot top controversial new old
[-] vala@lemmy.world 20 points 1 day ago

Lazy Vim is super underrated imo

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

[-] bipedalsheep@programming.dev 5 points 1 day ago

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.

[-] boaratio@lemmy.world 6 points 1 day ago
load more comments (1 replies)
[-] schmooooo@lemmy.world 14 points 1 day ago

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.

[-] Solemarc@lemmy.world 19 points 1 day ago

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.

[-] rklm@lemmy.dbzer0.com 3 points 1 day ago* (last edited 1 day ago)

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

load more comments (1 replies)
[-] codingcoyote@floss.social 16 points 1 day ago

@rklm Rider or any #JetBrains IDE honestly. They're just too good compared to the alternatives I've tried and cheaper too.

[-] rklm@lemmy.dbzer0.com 4 points 1 day ago

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!

[-] douglasg14b@lemmy.world 2 points 1 day ago

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.

load more comments (1 replies)
[-] mesamunefire@piefed.social 9 points 1 day ago* (last edited 1 day ago)

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.

[-] mcmodknower@programming.dev 8 points 1 day ago

Jetbrains IntelliJ IDEA for Java programming, emacs for everything else.

[-] scheep@lemmy.world 6 points 1 day ago

I like vscodium. Basically the same as vscode but without MS stuff. (but that also means a few extensions are gone, like the c/c++ extension and intellicode)

[-] JustEnoughDucks@feddit.nl 5 points 1 day ago

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.

load more comments (3 replies)
[-] Clearwater@lemmy.world 2 points 1 day ago

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).

[-] krimson@lemmy.world 8 points 1 day ago

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.

[-] syklemil@discuss.tchncs.de 6 points 1 day ago

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.

[-] Lembot_0002@lemm.ee 8 points 1 day ago

QtCreator is very nice as a C++ IDE. No, it doesn't force Qt on you in any way.

[-] Hugin@lemmy.world 2 points 1 day ago

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

[-] kionite231@lemmy.ca 7 points 1 day ago

I am currently learning Java so my favorite IDE is Intellij IDEA :)

[-] Zer0Rank@sopuli.xyz 4 points 1 day ago

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.

[-] TheMightyCat@lemm.ee 7 points 1 day ago

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 :(

[-] sfxrlz@lemmy.dbzer0.com 6 points 1 day ago
[-] pHr34kY@lemmy.world 4 points 1 day ago* (last edited 1 day ago)

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

[-] ulterno@programming.dev 4 points 1 day ago

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!

[-] pHr34kY@lemmy.world 1 points 1 day ago* (last edited 1 day ago)

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.

load more comments (2 replies)
[-] MyNameIsRichard@lemmy.ml 4 points 1 day ago* (last edited 1 day ago)

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.

[-] whotookkarl@lemmy.world 1 points 1 day ago

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.

[-] liliumstar@lemmy.dbzer0.com 4 points 1 day ago

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.

[-] CocaineShrimp@lemm.ee 5 points 1 day ago
[-] zweieuro@lemmy.world 6 points 1 day ago

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

[-] astrsk@fedia.io 2 points 1 day ago

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.

[-] zweieuro@lemmy.world 4 points 1 day ago* (last edited 1 day ago)

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

load more comments (1 replies)
[-] aquafunk@lemmy.sdf.org 3 points 1 day ago

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"

[-] CocaineShrimp@lemm.ee 2 points 1 day ago

@remindme@mstdn.social 9 hours

[-] count_dongulus@lemmy.world 4 points 1 day ago* (last edited 1 day ago)

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.

[-] 0x01@lemmy.ml 4 points 1 day ago

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.

[-] astrsk@fedia.io 3 points 1 day ago

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.

[-] Kissaki@programming.dev 2 points 1 day ago* (last edited 1 day ago)

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.

[-] Hotzilla@sopuli.xyz 2 points 1 day ago

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

[-] network_switch@lemmy.ml 3 points 1 day ago

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

load more comments (2 replies)
load more comments
view more: ‹ prev next ›
this post was submitted on 21 May 2025
95 points (94.4% liked)

Programming

20279 readers
599 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS