C++ Looking for a functioning IDE for C++

Happy Friday everyone!

I've been using juci++ for almost a decade. I got a lot of mileage out it but lately it crashes and hangs so I'm looking to replace it with something more reliable. I specifically want something that can compile C++ using clang and allow source debugging in the IDE (running lldb from a shell doesn't count - I can do that without an IDE).

What I've tried:
  • jetbrains-clion: the trial from ports crashes on startup on an empty directory.
  • vscode: it asks me to install an extension. I install an extension. vscode asks still wants an extension. I install another extension and get an error that the extension does not support FreeBSD. If someone is using vscode - what's the secret sauce to get it to compile and debug clang?
  • Netbeans or Eclipse: I've not used these in a long time and that was for Java. No idea how to get either to create an empty project good enough to debug hello-world. Creating a new C++ project in Netbeans gives me something that won't compile, run or debug.
I'm looking not so much for the name of an IDE but more like "I've been using X and here are the instructions I used to set up X."
 
EDIT: Added the supported Geany plugins currently available on FreeBSD.

For C/C++ on BSD hosts -- I have been using geany and it has been fine.

15.0-RELEASE

$ pkg search geany
geany-2.1 Fast and lightweight GTK IDE
geany-plugin-addons-2.1 Geany plugin: various small addons
geany-plugin-autoclose-2.1 Geany plugin: brackets autocompletion
geany-plugin-automark-2.1 Geany plugin: highlights all words that match selected word
geany-plugin-codenav-2.1 Geany plugin: some facilities for navigating in the code
geany-plugin-commander-2.1 Geany plugin: command panel for rapid access to any action
geany-plugin-ctags-2.1 Geany plugin: generate and query ctags files
geany-plugin-debugger-2.1 Geany plugin: debugging support (via GDB currently)
geany-plugin-defineformat-2.1 Geany plugin: on-the-fly #define formatter
geany-plugin-doc-2.1 Geany plugin: execute command on the word at cursor position
geany-plugin-extrasel-2.1 Geany plugin: additional selection tools
geany-plugin-gendoc-2.1 Geany plugin: generate documentation from the sources comments
geany-plugin-geniuspaste-2.1 Geany plugin: pastebins support
geany-plugin-git-changebar-2.1 Geany plugin: highlight changed files tracked with Git
geany-plugin-insertnum-2.1 Geany plugin: replace selection with integer numbers
geany-plugin-latex-2.1 Geany plugin: LaTeX support
geany-plugin-lineoperations-2.1 Geany plugin: Simple line functions that can be applied to an open file
geany-plugin-lipsum-2.1 Geany plugin: Lorem Ipsum generator
geany-plugin-lsp-2.1 Geany plugin: Language Server Protocol support
geany-plugin-lua-2.1 Geany plugin: Lua scripting
geany-plugin-macro-2.1 Geany plugin: user defined macros
geany-plugin-markdown-2.1_1 Geany plugin: real-time preview of rendered Markdown
geany-plugin-miniscript-2.1 Geany plugin: pipe text/documents via script (shell, perl, awk, etc.)
geany-plugin-numberedbookmarks-2.1 Geany plugin: additional numbered bookmarks
geany-plugin-overview-2.1 Geany plugin: zoomed-out view of open files
geany-plugin-pairtaghighlighter-2.1 Geany plugin: highlight matching opening/closing HTML tags
geany-plugin-pg-2.1 Geany plugin: encrypt, decrypt and verify signatures with GnuPG
geany-plugin-pohelper-2.1 Geany plugin: support for gettext translation files
geany-plugin-pretty-printer-2.1 Geany plugin: formats XML and make it human-readable
geany-plugin-prj-2.1 Geany plugin: alternative project manager
geany-plugin-projectorganizer-2.1 Geany plugin: extension of Geany's project management
geany-plugin-scope-2.1 Geany plugin: graphical GDB front-end
geany-plugin-sendmail-2.1 Geany plugin: send a document as attachment
geany-plugin-shiftcolumn-2.1 Geany plugin: move blocks of text horizontally
geany-plugin-spellcheck-2.1 Geany plugin: spell check via Enchant
geany-plugin-tableconvert-2.1 Geany plugin: convert tabulator separated selection into a table
geany-plugin-treebrowser-2.1 Geany plugin: alternate file browser
geany-plugin-updatechecker-2.1 Geany plugin: check for new version of Geany
geany-plugin-utilslib-2.1 Geany plugin: utility library
geany-plugin-vc-2.1 Geany plugin: access to different version-control systems
geany-plugin-vimode-2.1 Geany plugin: vim-mode plugin for Geany written by a guy who does not use Vim
geany-plugin-workbench-2.1 Geany plugin: manage multiple projects in geany
geany-plugin-xmlsnippets-2.1 Geany plugin: XML/HTML tag autocompletion
geany-plugins-2.1_1 Geany plugins (meta port)
geany-plugins-l10n-2.1 Localization messages for Geany plugins
$


But also +1 to CLion.

I used to "pay" to use CLion, but I am hearing they are releasing it for "free" now.
 
A FreeBSD 15 base install is most complete ever.
Doing everything with ee and stand-alone tools for years, I hate vi-only systems or with some other editor for 70s serial terminals. That's going to need some treatment.
Still, I would use something like Visual Basic 1 for DOS, but adjusted to a 35" monitor. Props to MS 1 time in the past. We could even make exe's of Basic programs.
 
I may start a separate thread asking how to get clion to work. The linked bug did not help me.

qt-creator is looking good so far. Package is one-tenth the size of clion. It created a CMakeLists.txt for a new non-Qt project. I now have clangd and lldb running in the background so it seems to actually use clang.

Folks that actually use vscode, netbeans or exclipse seem unsually shy today.
 
IDK how far you can tweak kate into the drection of a "real" SDK; it might suit basic needs. IMHO any good editor of your liking with syntax highlighting is the center, and the rest you can do in a terminal window, which is usually fine. And since you mentioned qt-creator,, you might also want to install the meta-package kdesdk which installs some useful tools like a hexeditor, a GUI for diff(1) & patch(1) etc. pp.
P.S. I just remembered that I wrote the prolog syntax highlighter for KDE's syntax engine decades ago :) Happy hacking!
 
after extensive research on the subject, spanning may years, I have come to the conclusion that all free IDEs suck in their own special way. About the closest I've come to being productive with an IDE was vscode, before they started the AI intrusion game. In the end I always seem to comeback to several xterms, a liteweight gui text editor, and the ddd graphical front end for gdb.
 
Emacs can do debugger integration with source buffers, but you have to set it up.
Emacs is an OS on itself. But for coloring/integration/completions. Emacs i fine with your own way of working.
Me i use simple command line for compiling, but i'm very oponiated. If emacs is your way go for it. Me, an editors , just to edit nothing more, not even compile. But editor most do his simple best, that is what i found.
 
So if you are going to work on FreeBSD/*BSD/Unix/Linux regularly -- you will want to get used to using vi(1), emacs(1) or even nano(1).

VSCode some times works on FreeBSD ... and some times does not. It's not worth chasing VSCode around on FreeBSD (IMO), trying to figure out if VSCode is going to work today or not.

CLion, for me, worked on FreeBSD with (a caveat) - I am pretty sure I followed this advice - Here: (Link FreeBSD Forum) - [Solved] Using CLion 2025.2.2 on Freebsd. Will it suddenly (STOP) working one day -- well... I don't know :cool: . It always works good for me on Debian Linux.

But if you are going to walk into "use an IDE on FreeBSD" game - it's always better to "own" your IDE so you can take it with you to your next FreeBSD/*BSD/Unix/Linux release. This is why I was mentioning Geany -- it's Open Source and can be found on FreeBSD, MacOS, Windows, (at least) Debian Linux and others. You can find information on Geany here (Link Wikipedia) - Geany

You can also read up on a recent FreeBSD forum post on this (same topic) - Here: (Link FreeBSD Forum): Good IDE for C/C++ programming that doesn't look like the 1990's??
 
Emacs is not an OS, it is a glorified Lisp interpreter, and not even a particularly good one.
Old joke from the 80'ies: "Q: Why is Emacs an OS? A: It manages all resources"
Emacs was big in those days and took much RAM & many small workstations started heavy swapping...
But with all the crap written for it it is extremely productive.
See, there are even programs running on that OS :)
You can even use it as a web browser. Crazy!
 
somewhere i have a config to open emails, send and reply and open links in these emails. But i stopped. switched to simpler workflow. That is editor to edit. Command line to compile. Email client for emails. KISS.
 
Back
Top