by labarilem on 12/6/24, 11:38 PM with 14 comments
by ostaquet on 12/8/24, 2:46 PM
For the IDE itself, the big choices are between Jetbrains CLion and VSCode. If you are familiar with Jetbrains product for another language, stick to it. Same for VSCode, if you’re use to it, just install the right plugins.
I personally prefer Jetbrains product because it is working without selecting/installing all the plugins. Some people likes to tweak their environment. So, I don’t use a lot of plugins on the IDE.
I use VSCode only when I have multiple stack in the same project (typically Flutter project which include the Dart part and the native part). In that case, VSCode is more practical.
In the embedded world, there is also Kiel for ARM embedded development. (https://www.keil.com/). I was never be able to use it. It is really unnatural to me but a lot of embedded C developers love it.
Regarding the dev tools, I prefer to use tools that are multi platform and widely used. So, the dev tools include CMake, make and GNU C compiler. It is a pretty common toolkit that covered my needs so far.
Unit tests are written with Unity Test Framework (https://github.com/ThrowTheSwitch/Unity). It is simple and allow to be executed on the target if required; which is practical for embedded development.
by speedgoose on 12/7/24, 8:10 AM
But it’s mostly a matter of personal preferences and you should take the time to test the common environments. Perhaps you like CLion more, or neovim, or Visual Studio Pro on windows. Who knows.
by lemonwaterlime on 12/7/24, 6:26 PM
- https://github.com/xave/modern-c-vim-dev-env
- https://github.com/xave/modern-c-vimspector-debugger-tutoria...
Otherwise, the suggestions in this thread so far are great.
by gregjor on 12/7/24, 2:17 AM
Visual Studio seems very popular and has everything one needs for writing and debugging C code, but only runs on Windows and costs money.
vim + git + gcc + make + gdb another popular set of tools, more portable and free.
The “best” environment or set of tools will depend on your skills and patience, and likely on the kind of development you intend: embedded code has different constraints than desktop application code, for example.
by gjadi on 12/7/24, 2:39 PM
For code navigation: If the tool chains provides the file compile_commads.json, then I use the built-in LSP: eglot. If not, then universal-ctags to generate TAGS file.
For debugging, I use ozone when JTAG is available, if not, back to miserable printf debugging or worse.
by racenis on 12/13/24, 11:10 AM
On Linux I would use vim and gcc.
C is so simple that you don't really need fancy IDE to write it.
by pestatije on 12/6/24, 11:55 PM
by Hashex129542 on 12/8/24, 12:02 AM
by wizzerking on 12/7/24, 12:01 AM
by triilman on 12/7/24, 9:03 PM
for the runner I want to try "just" instead "make".
by j4nek on 12/7/24, 7:56 AM