Programming Editors


#1

What’s the most common approach to FreeBSD development. I have checked Developers Guide. It highlights Emacs or KDevelop. I can imagine ctags would be added to the mix at certain level to create some auto-completion.

But what I am after is some kind of code feedback and navigation experience found with CLion or Intellij tools. Can you guys share what you use for tooling and workflow.


#2

I’ve always been a vi guy for quick short edits because it’s pretty much always available, more extensive sessions emacs/xemacs, ctags/etags and grep. I’ve found it’s easy to carry around emacs init files for code formatting.

At work, I’ve used SlickEdit and Eclipse in the past. They work well for browsing large code bases, interface could be tweaked so my fingers didn’t need to learn new key sequences, but my biggest complaint is setting them up. If you are starting from zero it’s not bad, but if you are walking into say the BSD or Linux kernel tree that already has Makefiles, it’s a bit of effort to get it set up. Toss in the background retagging of the source, you get lags in the interface. Building and debugging worked fine once set up.

Long winded way of saying that I’m just as effective using emacs and a terminal window for running grep commands. I’ve found tools like clang-format are good for enforcing coding standards (don’t use Google style unless you like ugly code) and you can tweak easily enough for your own style. Then make emacs init fit the same thing and easy code format.


#3

Thank you for sharing this. I have similar workflow but my issue with tooling is it doesn’t recognize and set you in-context of what one might be doing.


#4

No problem. Everyone’s a little different, I’m one of those old dog that you can’t teach a new trick to (no matter how much coffee or beer you use), so I’ve not found an IDE that I like. I give them an honest try, but they take so long to get configured I get frustrated. If your work wants coding standards off the defaults, even more time to set up. So I fall back to emacs and grep 90% of the time (ctags I have to keep remembering to update when I do a git pull).

Folks coming from Windows/Visual Studio or doing Java are usually more comfortable in a full IDE; but that’s the beauty of our world. Use what works for you and don’t concern yourself with anyone else’s choice.


#5

True, setting up an editor with some standard workflow and defaults, then getting to know the in and out’s does take a lot of mental effort.


#6

Since you mentioned CLion, why not give it a try?
Intellij worked for me for java development on FreeBSD before. May be CLion will for you.
Personally, I use vim + ctags for c/c++, but with relatively small codebase.


#8

I have tried CLion on FreeBSD but it’s rarely useful unless you know the context you are working with. Which defeats the entire purpose of using a tool :slightly_smiling_face: for efficient workflow.

I guess using examples from existing code and thinking through the problem is the only viable method for now.


#9

I’m afraid I’m not quite following with what do you call “the context”. If by that you mean a sub-set of the code you need to be familiar with in order to implement a feature or fix a bug, IDE/editor can only help you be “in the driver seat”. You’ll still have to learn the code base. Then pick IDE you’re the most familiar with and which supports the language of your project.

If by context you mean an established edit-compile-debug loop for a specific project like BSD kernel, then what’s recommended by the project core devs is probably the fastest way to start.


#10

by context I mean the flow of the program essentially the state at a given place. I think i should admit that such an editor does not exist :slightly_smiling_face:


#11