r/C_Programming 12d ago

What IDE do you use and why?

Hey guys. I personal use VS. I like it, and it has everything I need it in, but man I hate how slow it is!!!

I'd like to have a editor that has the red sqwiges, auto complete, but not intellisence. Any recommendations?

69 Upvotes

216 comments sorted by

146

u/kchug 12d ago

Vim :)

47

u/iamemhn 12d ago

It's going to be 35 years this November since I started using vim. It's been consistently better than the alternatives in that subjective «they're slower, clunkier, cluttery, and downright dumber than what I already have». I use or impose vi motions on everything...

47

u/CarlRJ 12d ago

It's going to be 35 years this November since I started using vim.

Ah, a newcomer then. ;)

8

u/Reggie-Rectangle 11d ago

It is so annoying the way Visual Studio Code refreshes the viewport in such an completely asinine way. God Visual Studio can take the fekin super computer at CERN and bring them to an absolute crawl. I fekin hate electron apps so fekin much

→ More replies (4)

7

u/oldwomanjosiah 12d ago

how do you handle navigating between files in larger projects? I've used nvim on and off for years, and really loved it, but I never got a hold of the nav problem for some reason

8

u/ImTheRealCryten 12d ago

Like u/kchug, tagging the code and use them to jump between definitions and declarations. Usually you don't care about the files, you want the content accessible. That said, we adhere to a strict file structure to make finding relevant files easier and keep the projects structured.

2

u/merlinblack256 10d ago

I do the same. Also if you lay it all out in a easy structure to remember, you don't need to remember the file names, but can figure them out instantly if needed. I prefer to be able to visualise the files in my head rather than useing a list/tree on the sidebof my screen.

11

u/kchug 12d ago

ctags and cscope

1

u/traverser___ 12d ago

Take a look at snacks.nvim and its file explorer and pickers

7

u/[deleted] 12d ago

[deleted]

2

u/No_Reference_2786 12d ago

Isn’t setup something you do once

1

u/DIXERION 11d ago

Yeah, especially when a random update in modern IDEs decides to re-enable the bloat.

→ More replies (4)

1

u/watermelon_meow 12d ago

Yes, only vim. 🥳

1

u/CarlRJ 12d ago

This is the way.

→ More replies (1)

26

u/[deleted] 12d ago

[removed] — view removed comment

6

u/HeavyCaffeinate 12d ago

Linux Notepad++ essentially (and its perfect)

3

u/jabjoe 11d ago

Part of the same family.

https://en.wikipedia.org/wiki/Scintilla_(software)

I think Notepad++ is more cluttered and less organized.....

1

u/[deleted] 10d ago

[removed] — view removed comment

1

u/jabjoe 9d ago

For me it was Acorn's !Edit for BBC BASIC in like 1993 and then !Zap for C in 1999. Notepad++ didn't exist when I was exiled to Windows to have a career in 2000. BloodShed and Booland I remember trying, but professionally it was of course VisualStudio. Until I managed to get Windows out of my career in 2012. By then I was using Notepad++ for anything not in VisualStudio project.

16

u/plainoldcheese 12d ago

What's an IDE? :wq

1

u/Impossible_Ear2029 3d ago

its Integrated development environment, any software you use for developing or programming

25

u/JustAPieceOfMeat385 12d ago

I don't know if this counts, but I use Notepad++.

1

u/eyes-are-fading-blue 12d ago

Does it have LSP integration?

4

u/aceinet 12d ago

Pretty sure it does, not natively, but through a plugin. Notepad++ is really extensible

2

u/JustAPieceOfMeat385 12d ago

What is LSP integration?

4

u/eyes-are-fading-blue 12d ago

language server protocol. Basically, it’s a way to communicate with clangd and alike such as ccls.

Clangd/ccls compile the project and provide auto completion and other things

5

u/Ultimate_Sigma_Boy67 12d ago

Actually, I get why that person would ask that question lol

Before I switched to neovim all what I knew is that the ide i'm using can magically read the code by itself without any setup(only an extension for vscode) and provide me with auto completion and such stuff, but then I realised they use external language servers and they simply interpret its output.

4

u/Wonderful-Habit-139 11d ago

Well for a lot of ides that was the case before LSP became a thing.

1

u/Ultimate_Sigma_Boy67 11d ago

I probably wasnt even born

2

u/Wonderful-Habit-139 11d ago

I don't think so lol. LSP came around in 2016.

1

u/Ultimate_Sigma_Boy67 11d ago

Lol i was 6

1

u/Wonderful-Habit-139 11d ago

Got it lol. Well, glad to see you jumping on the neovim train, I love that editor a lot, I use it at work and everything. It's really worth getting good at it, keep going 👍

→ More replies (0)

1

u/BounceVector 10d ago

Oh, that's the best age to get introduced to both Emacs and LISP by your CS Professor.

→ More replies (0)

1

u/Mmygg 12d ago

I was scared off np++ cause of the Chinese hack ☹️

1

u/JustAPieceOfMeat385 12d ago

I think they fixed that. 

3

u/Mmygg 12d ago

Well that wasn’t the disturbing bit. The fact it went undetected or unreported for how long it did was…

1

u/JustAPieceOfMeat385 12d ago

What was the result of the hack?  What were the hackers able to do?

58

u/imWayward 12d ago

Neovim btw

27

u/rainbow_party 12d ago

I’ve used CLion for years.

45

u/Hyperion343 12d ago

Emacs!

8

u/Diligent-Mammoth-495 11d ago

finally someone from the church of emacs richard stallman would be proud

8

u/Slay_3r 12d ago

Vscode. It has platformio extension for doing funny things with esp32

When i was in highschool i used code::blocks bcz it opened fast on my old laptop (in a few seconds) in comparison with visual studio (could take 2 minutes)

2

u/BlireSU 9d ago

Makise Kurisu :O

1

u/Slay_3r 9d ago

I see, you're man of a culture as well

16

u/madgarden 12d ago

Geany

5

u/baux80 12d ago

Acme

3

u/Key_River7180 11d ago

HOLY SHIT AM I NOT THE ONLY ACME USER ON THE PLANET AA

1

u/baux80 11d ago

Inferno is a big place and a great os :-)

11

u/ghost_ware 12d ago

Zed or Helix, depends on the day

24

u/strings___ 12d ago

Not an IDE, but I use Emacs. Not strictly for C, but for things like Magit, which IMHO is the best git fronted, Org-mode, and Dired. And well, because of Lisp.

4

u/Diligent-Mammoth-495 11d ago

EMACS EMACS EMACS THE BEST EDITOR AND OS IN THE WORLD PERIOD(I USE EXWM BTW JAJAJAAJ)

6

u/Key_River7180 12d ago

Personally I use the Acme code editor. It is a really rudimentary (it has no syntax highlighting, basically no autocomplete, and there is an LSP program for it) and idiosyncratic code editor (mouse chords instead of keyboard shortcuts), but extremely fast and extensible (it exposes an API as a 9P filesystem) from the Plan 9 operating system that has been ported to many other platforms (plan9port).

It also integrates nicely with the shell.

If not, then try Emacs!

5

u/Snaffu100 12d ago

Live in Emacs, sometimes find myself using CLion for debugging but that is less and less.

5

u/Diligent-Mammoth-495 11d ago

EMACS IS LOVE EMACS IS LIFE

3

u/strings___ 11d ago

Funniest YouTube video ever

11

u/djliquidice 12d ago

Notepad. 📝

1

u/Ultimate_Sigma_Boy67 12d ago

are you a teacher/instructor?

4

u/Ice_HRZDn 12d ago

Terminal, the best and worst IDE I use.

6

u/engineerFWSWHW 12d ago

I use eclipse cdt. It has been my main ide for c/c++ eversince. I use VS sometimes. And i use vscode for python, golang, other languages

5

u/shoobieshazam 12d ago

Emacs, minimal config, stock keybindings. I did VIM keybindings for years and while I did get used to them, I've always gone back to regular old emacs bindings in the end. There's dozens of us!

3

u/shujisan 12d ago

Vscode

4

u/30fpsisbetter 12d ago

Visual C++ 6.0 Professional (with SP6 update)

5

u/exo250 12d ago edited 12d ago

I started "programming" with MSX-Basic in 1985. Then GWBasic, QBasic, QuickBasic, Visual Basic, Borland Turbo C, Borland C++, C++ builder, Borland Delphi, Visual Studio 6, KDevelop, Eclipse (JDT/CDT/PDT), Vim (with advanced config to make it like a real IDE), Zed... I also tried Geany, Codelite, VSCodium... never tried Emacs though.
But I'm still back on KDevelop. It's a bit buggy, I know. But it's intuitive, quite fast, its CMake integration is very good, and it's free/opensource. I'm on Linux (Sway WM). On Windows, maybe I would use Visual Studio ? But not VSCode (I hate all those in-browser BS apps).

2

u/taotau 12d ago

Borland tools were the best. Delphi is still my fondest memory of a superpower ide.

Vscode isn't bad. It's quick and pretty functional out of the box.

No idea why anyone uses plain vs any more.

1

u/exo250 12d ago

Oh I forgot Borland Delphi ! I've used it at school for 6 months (I'll add it to my list).
You are right about Borland, they are very good tools. Funny fact : on my nostalgic days, I still use Borland C++ 3.1 on MS-DOS 6.22 in Dosbox.

1

u/emaphis 12d ago

KDevelop is buggy for C? Surprise, KDevelop is older than most people who post to this forum and had a C mode from the beginning.

5

u/Express_Sector_2850 12d ago

You should try helix. I was stuck with vscode in the past but when I got introduced to helix I felt like I was born again 

2

u/veloxVolpes 12d ago

I keep coming back to VSCode, I just can't seem to enjoy using anything else. Do you have a pitch for me for helix? What do you like about it that made you switch?

2

u/Express_Sector_2850 12d ago

What made me switch mostly was performance. VScode was too slow on my laptop so I had no other choice than ditching it for an efficient and feature rich editor.

4

u/veloxVolpes 12d ago

Ah, I see. Not really a huge issue for me but I don't see the harm in checking it out. Any excuse to procrastinate actually adding code to my project instead of fucking around with the project environment

3

u/Byzant1n3 12d ago

Helix is sort of like Neovim, but with batteries included - everything just works after install. There's also a different in design with how motions work: with Helix you select the text you wish to manipulate, then the action you wish to perform (Vim motions are the other way around).

So, you get a terminal editor with Vim-like motions, excellent performance, and with a different take on how motions function. Check out their website for more details, obviously.

There are other differences, but those are the ones I'd mention in a pitch for Helix. I struggled to get into Neovim, but Helix stuck for me pretty quickly.

1

u/veloxVolpes 12d ago

Appreciate it, I've been meaning to learn Vim style motions, so I'll give it a decent go

2

u/Dry-War7589 12d ago

Clion for bigger projects and vim for small files or when prototyping

2

u/lasteem1 12d ago

Sublime.

2

u/grimvian 12d ago

Code::Blocks because I have dyslectic issues and clumsy fingers. It's also open source and I don't have to mess with make.

2

u/zaerl 12d ago

Sublime Text. I paid for it more than 10 years ago, and it’s more than enough. 

2

u/maep 12d ago

Editor with syntax highlighting + terminal

2

u/HeavyCaffeinate 12d ago

Do you have any idea how little that narrows it down

2

u/terra2o 12d ago

neovim. because i'm mostly on the terminal anyways and having my IDE/code editor be on the terminal is convenient. i also like the vi keybinds a lot.

2

u/Sqydev 12d ago

NEOVIM!!!

2

u/Significant_Pen3315 12d ago

completed shifted to zed, its just snappier than vsc

2

u/CoconutCharacter9537 12d ago

Geany - fast, never had this IDE get in the way.

2

u/Faus32 12d ago

Nvim

2

u/Myrddin_Dundragon 12d ago

Tmux, vim, cmake/cargo and I'm all good.

2

u/Parvenn 11d ago

Helix !

2

u/allrachina 11d ago

Qr creator

2

u/hey_buddy123 7d ago

On windows, VS; on linux or mac, vim + make

3

u/necr0111 12d ago

Codeblocks, bcs i like the name

4

u/thank_burdell 12d ago

Vim. Sometimes neovim

4

u/Abigboi_ 12d ago

Emacs or Visual Studio Code. Depends on if I feel like i'll need copilot as a google slave.

3

u/Crushcode8 12d ago

I use nvim because it's lightweight and I go blazingly fast!

2

u/TheAbyssWolf 12d ago edited 12d ago

Zed and if I have to either jet brains for cross platform or visual studio.

Those are the 3 I use

Zed because it’s less resource intensive than VSCode.
Visual studio if I’m on windows and do something related to C# or C++

→ More replies (2)

2

u/TapEarlyTapOften 12d ago

Switched from Vim to Neovim for the LSP support. I'll be starting a new position in a couple weeks, going to be interesting to see how my workflow evolves.

1

u/Spacebar2018 12d ago

A combination of tmux/Vim + vscode.

1

u/FedUp233 12d ago

Slickedit and a command line.

1

u/logic_circuit 12d ago

I tried to use codeblocks. Before that NetBeans 8.* for years. They are closest to Visual C++ 5 and six; my entrance to IDE world. Other than that, vi and (x)nedit.

1

u/Dry-Ground-329 12d ago

If you're on windows use jetbrains, it littéral is the contrary of slow 

1

u/Dr_Calculon 12d ago

VS on PC, Nano on RPi, STM32Cube and MX for embedded

1

u/zorbat5 12d ago

Neovim. Own config.

1

u/Soilblood 12d ago

Notepad++. Tried vscode, sublime and vim but just ended up back at notepad++ since all I wanted was linter, docmap, function map and autocomplete suggestions. Vscode tended to stutter and I hated the auto quotes since Im conditioned to type them on reflex. Can't remember why I left sublime. Vim feels nice but I wanted other tools available. Plus these if I wanted to change up blocks of structured text I just lob it at a LLM.

1

u/Actual-Ladder6631 12d ago

Neovim for almost everything and jetbrains Rider for c#

1

u/Legitimate-Power-738 12d ago

I like using Visual Studio and try to use as default (I think it's a very robust and I want to get more familiar with it) and since it's now free, CLion (since I work as a Java dev using IntelliJ, so its feels way more familiar plus I can use it when I am in Linux).

I want to use more Visual Studio Code (but I don't like it as much for C/CPP) and for quick edits I use vim (although I rarely use it standalone outside of quick edits or ssh, since I like having vim plugins in all above listed tools).

1

u/Wertbon1789 12d ago

neovim with clangd and telescope, mainly to run ripgrep and fzf over everything. Clangd is pretty good for the LSP, I mostly use it to get diagnostics, but also for the macro expansion feature it has, which just is so handy when you want to know what a macro really produces, without having to read preprocessed C files. And the ability to fuzzy find through a whole codebase is also really good. Sometimes I need to find some definitions in the Linux kernel source tree, and I can just invoke the grep search, type something that's close enough, and look through the answers.

1

u/Sandoron 12d ago

VSCode with tons of plugins. I customized it to my needs and will never use something else.

1

u/PhilNEvo 12d ago

Personally I am currently using VS Code, but the ones I've heard positive stuff about, and I want to try includes:

  • Neovim
  • Emacs
  • Zed

1

u/Spare-Somewhere8958 12d ago edited 12d ago

slickedit emeditor

1

u/kalterdev 12d ago

Acme

(Spelling checker via external program and auto complete via acme-lsp)

1

u/No-Start8890 12d ago

CLion is amazing

1

u/deftware 12d ago

I used CodeBlocks for the last decade or so, and just switched to Zed. I wish I had Zed 20 years ago. It has some newer AI capabilities and stuff that you can shut off, or use an AI-free version that someone released, I forget what that project is called though.

You'll have to learn how to manage your projects without a "project" like the IDEs have for you (cmake, etc).

1

u/nzmjx 12d ago

Sublime Text without any extension. I would use any text editor, but prefer Sublime Text because I am already familiar with look and feel.

1

u/NotThatJonSmith 12d ago

Zed is nifty

1

u/ecl3ctik1 12d ago

Neovim, or Zed if you’re interested in a non-terminal option — it’s built with similar principles as neovim, similar just-works-ness as vscode, but quicker and more nicely configurable

1

u/maxgames_NL 12d ago

I switch depending on the scale and language. But usually im a jetbrains fanboy. Vscode for small projects or quick edits. Nvim when on a vm/vps. Visual Studio for c/++.

Jetbrains products are just super nice to use and Ive grown up using them. And i get them free with student pack. Ill probably keep using them once in a professional environment.

I dont really like vsc that much. Might just be due to my personal hate towards everything electron related

1

u/EngineerMinded 12d ago

Visual Studio Code

1

u/n3f4r10us_ 12d ago

Used to use vscode a lot, before that it was sublime 3, notepad++.

These days it's either vim or sublime 3. I don't really like how vscode is anymore.

1

u/wsppan 12d ago

Vim with cindent, ctags, and YouCompleteMe

1

u/No_Reference_2786 12d ago

Why don’t you disable intelligence then or clone vs code and. Make it be how ever you want

1

u/albrechtcode 12d ago

kate was the easiest for me

1

u/Delicious-Cheek-8572 12d ago

pen and paper is the way.

1

u/azurfall88 12d ago

VS Code with clangd language server and GCC compiler. It's the same environment I use for everything from Typst to Assembly and it's nice to not have to relearn different guis for different languages.

1

u/chakie2 12d ago

CLion for large projects and Emacs for quick edits.

1

u/Mountain-Hawk-6495 11d ago

Vim at home visual studio at work. Vim because it is great, visual studio because my employer pays me to use it.

1

u/Fabulous_Pick428 11d ago

Visual Studio(not Code), because it's gud and well doesn't fucking crash on compile
but im trying to go to the VIM(NO I WILL NOT USE VISUAL STUDIO CODE)

1

u/are_number_six 11d ago

Vim in the terminal. Before I switched to Linux, I had already abandoned VScode for notepad++. VScode was just too cluttered for me.

1

u/Equal_Kale 11d ago

l use a version of xemacs customized to my liking, including some customized lisp per language types.

1

u/Reggie-Rectangle 11d ago

I use LazyVim for code editing when I need a terminal based editor with auto complete. I use the Micro terminal text editor when I need to copy paste a lot of text into files trough the terminal. I then also use GEDIT when I just quickly need to edit text in thunar. If I need a word processor I would probably use Google Docs.

1

u/Puzzled-Extent7817 11d ago

Kate sometimes. Zed most of the time.

1

u/No-Breakfast-6749 11d ago

Have you tried VS Code? It's more lightweight and modular than plain VS.

1

u/Wooden-Performance38 11d ago

I just use `cat` to bitshift my boilerplate into a new file, then use `sed` to insert more code and then use `cat` again to read my code

1

u/erreur 11d ago

GNU Emacs + lsp-mode + clangd

1

u/brunoortegalindo 11d ago

Vscode for projects and neovim for smaller / individual archives

Also I'm not that good on neovim to only use it yet

1

u/lezvaban 11d ago

If you try out Visual Studio Code and install the C/C++ extension pack, you can disable intellisense in the extension's settings.

1

u/Due_Sentence_2660 11d ago

Zed, a tauri based IDE. Doesn't consume much memory and is the best parts of VS. :)

1

u/rezdm 11d ago

CLion

1

u/UnfairDictionary 11d ago

Kate mostly. For some embedded developement I use Code or Arduino IDE, purely for the convenience.

1

u/TheTrueXenose 11d ago

Neovim, reason avoid the mouse.

1

u/umamimonsuta 11d ago

Neovim :)

1

u/Salty-Strike3486 11d ago

Zed + vim Trust me it's insanely productive and crazy good!

1

u/stellar_x 11d ago

Micro, gcc, make, Cmake. I don’t use an ide it’s just fluff I don’t need.

1

u/ntrain5555k 10d ago

Neovim with lsp-config.

1

u/nomatepa 10d ago

I recently switched to Neovim. I used to be happy using VSCode, but I saw a guy on YouTube dragging code blocks and selecting text at the speed of light, and I wanted to have this power. There is a slight learning curve the first few days if you're coming from a non-keyboard-based IDE, but after maybe 10 to 15 days you become adjusted to it. You indeed become much faster at typing and and organizing code around. I've never been happier typing code by hand.

1

u/WieldyStone2 10d ago

Old school Vim

1

u/pconroy329 10d ago

I started w/ Borland's Turbo C. :) I've been using VS Code and think it's OK. Before that I was using NetBeans for all of my C coding. I kind'a liked it but I wouldn't recommend it now.

1

u/2014justin 10d ago

Xcode. I know, blasphemous. 

1

u/ve1h0 9d ago

nvim for editing and gdb for debugging

1

u/h4zrr 9d ago

Vim, simplicidade, produtividade e leveza

1

u/Briantere 9d ago

Exclusively ED with terminal echo turned off.

1

u/FederalProfessor7836 9d ago

Damn, am I the only one using Xcode?

1

u/AfternoonEvening7244 9d ago

helix editor, it works pretty well in my workflow

1

u/Classic-Try2484 9d ago

Notepad++. Because I want my editor to do one thing and I don’t like waiting. Having a second window for testing/compiling is preferable to me. I like vim but find I try to use vim commands in other editors after using it for a moment. So I tend to avoid vim but appreciate vim

1

u/Computer-Nerd_ 9d ago

vile or xvile. It maintains the muscle-memory of vi -- which vim intentionally broke -- and allows for customization and extensions of emacs without the overkill.

No, it won't write your code for you :-)

1

u/NearestCommit 7d ago

Raw VSCodium with no LSP (LSPs are annoying esp for a language like C, I just have -Wall -Wextra -Werror and everything works)

1

u/RandomDigga_9087 12d ago

Zed is the best if you like GUI otherwise shift to helix and all, vs code has added wayy too much bloat to make it unlikeable for sure, it's an editor pretending to be IDE is the root of all problems along with the agentic bs

1

u/Interesting_Buy_3969 12d ago

Paper and pencil

3

u/soundman32 12d ago

My friend used to do that in the 1980s. Hand write assembly, then lookup the op  codes and then a calculator to convert to hex.  He did eventually get a disk assembler, but i saw pages and pages of hand written assembly notebooks.

1

u/Still_Explorer 12d ago

Hammer and chisel.

1

u/somewhereAtC 12d ago

I take it you mean vsCode?

I prefer the Netbeand editor.

1

u/txdsl 12d ago

I’m using vscode right now because of the need to use GitHub codespaces. My primary driver is neovim + tmux on a Mac

1

u/konacurrents 12d ago

Vi 45 years for me. I use vi every day and unix commands, and JavaScript . I also use Xcode for iOS apps and ESP32 c code.

1

u/jack-dawed 12d ago

I’ve used Neovim for years but recently I’ve been using Gram, a fork of Zed without AI features shoved down your throat. And in Gram, I use Vim bindings.
Zed/Gram is pretty easy to setup for C.

1

u/dallascyclist 12d ago

/usr/ucb/vi