Lightweight IDE for Linux, BSD etc

Topics related to the API, programming discussions & questions, coding tips, bugs, etc. should go here.
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Lightweight IDE for Linux, BSD etc

Post by danboid »

What are you Linux / *BSD using Uzebox devs using for a lightweight IDE, if anything?

Yes, I already know how to use vim but I want to find a nice, lightweight, opensource IDE. The nearest to what I want that I've found so far is Geany but I don't like the way Geany handles the running of build commands. It would be OK for me as-is if they added build command profiles to quicky restore or copy sets of build commands between different files / projects.

Let me dismiss a few options first:

VS code / VSCodium / Atom - I don't want to use anything based upon Electron / Chromium - bloat

Sublime text - not open source

Brackets - No web apps. I want it to use a Linux native toolkit. fltk would be ideal. I prefer GTK apps over Qt but both are fine.

Qt Creator - too bloaty. Installs clang etc as deps

notepadqq - nope. Not enough build options.

Eclipse / *emacs - too bloaty

scite - doesn't cut it


Does anyone know of a nice, lightweight, opensource Linux IDE with good C support and good support for running custom commands and doing typical basic IDE tasks?

Self-reply - configuring Kate as a lightweight(ish) Uzebox IDE

I have now configured Kate for UB dev and this is the best fit for me out of everything I've tried so far.

Setting it up goes roughly like so:

Install kate and konsole. You need to be running at least Ubuntu 20.04 for Kate to support running external tools.

Open Kate then go to Settings -> Plugins and enable the 'Build' and 'External Tools' plugins.

Whilst you still have the Configure Kate window open, go to the External Tools section then click Add -> Add tool from defaults -> Tools -> Run Shell script

You will now see a new entry in the External Tools list. Edit it so the name is "Run YOURPROJECT", the executable is cuzebox, the argument is your projects .uze file name and set the working directory to the same as you set the build target dir.

Click on the 'Build Output' tab at the bottom of the Kate window then click on the 'Create new set of targets' icon

Enter the base build directory for your current project (where the Makefile is) in the top cell of the second column

Now you can go to Settings -> Configure Keyboard Shortcuts and assign keyboard shortcuts to the Build Default Target action (I use Alt+d for Default builD) and your "Run YOURPROJECT" external tool - I use Alt+x for that. If you are working on multiple projects then Kate's keyboard shortcuts window also supports creating and switching between several keyboard shortcut schemes.
Last edited by danboid on Fri Jan 06, 2023 5:44 pm, edited 1 time in total.
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Re: Lightweight IDE for Linux, BSD etc

Post by danboid »

I've found a potential box-ticking solution - codelite. It's in the Debian and Ubuntu repos and LOOKS like it might do what I want... just trying to configure it now. It's not very pretty TBH but I don't care if it does what I want, the way I want.
User avatar
D3thAdd3r
Posts: 3174
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Lightweight IDE for Linux, BSD etc

Post by D3thAdd3r »

I never work on large programs that require complex organization or features, so I just use gedit and make. A lot of people do not like that kind of setup, and there have been complaints in the past that getting started in Uzebox is not well documented. If you do end up finding the perfect IDE, perhaps you could document all the steps to get going with Uzebox and compiling demos from scratch?
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Re: Lightweight IDE for Linux, BSD etc

Post by danboid »

Hi DA!

gedit used to have more features didn't it? They took lots away with GNOME 3. I think the text editor in MATE (pluma?) is based on the older gedit with more options and features. I've had a look at codelite and I don't think that's quite what I want either.

Next thing I'm going to try is kate with the external tools plugin, which lets you run scripts etc in Kate:

https://kate-editor.org/post/2019/2019- ... ls-plugin/

As you can see this feature was only re-introduced late last year so you need to be running Ubuntu 20.04 or a newer distro to get the External Tools and Terminal menus under the Kate Configuration window.

What looks promising in Kate is that it has keyboard shortcut schemes, so if it lets me combine that with the external tools plugin (it looks like it will) I may be onto a nice setup? What I don't like is you have to install most of KDE to run Kate, which isn't ideal if you use the MATE desktop or anything thats not KDE / Plasma but I'd still rather do that than use something based on Electron. You also have to install konsole to get its integrated terminal working.
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Re: Lightweight IDE for Linux, BSD etc

Post by danboid »

I have now configured Kate for UB dev and this is the best fit for me out of everything I've tried so far.

Setting it up goes roughly like so:

Install kate and konsole. You need to be running at least Ubuntu 20.04 for Kate to support running external tools.

Open Kate then go to Settings -> Plugins and enable the 'Build' and 'External Tools' plugins.

Whilst you still have the Configure Kate window open, go to the External Tools section then click Add -> Add tool from defaults -> Tools -> Run Shell script

You will now see a new entry in the External Tools list. Edit it so the name is "Run YOURPROJECT", the executable is cuzebox, the argument is your projects .uze file name and set the working directory to the same as you set the build target dir.

Click on the 'Build Output' tab at the bottom of the Kate window then click on the 'Create new set of targets' icon

Enter the base build directory for your current project (where the Makefile is) in the top cell of the second column

Now you can go to Settings -> Configure Keyboard Shortcuts and assign keyboard shortcuts to the Build Default Target action (I use Alt+d for Default builD) and your "Run YOURPROJECT" external tool - I use Alt+x for that. If you are working on multiple projects then Kate's keyboard shortcuts window also supports creating and switching between several keyboard shortcut schemes.
Last edited by danboid on Fri Jan 06, 2023 5:42 pm, edited 1 time in total.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Lightweight IDE for Linux, BSD etc

Post by Artcfox »

You can always just use Emacs inside xterm. There isn't much bloat that way. ;)
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Re: Lightweight IDE for Linux, BSD etc

Post by danboid »

I must admit I've never given emacs a proper chance. I am presuming it can do a split display (ie half of the display as a text editor, half as a console) without me having to use screen or tmux and that I can bind custom key combos to shell commands? That's pretty much all I want right now, except for syntax highlighting which it obviously has.

If I can make it usable with less config than Kate then I may switch. I've also been meaning to check out the micro text editor so I'll have to compare it against that too.

https://micro-editor.github.io/

I've got no complaints with Kate other than it requires the KDE libs, but these days when you can buy a new RPi4 with 8 GB RAM for about £60 and a 250 GB micoSD card for about £30, those extra libs are not really the big deal they were 20 years ago. I doubt I'll be switchig from Kate to Xemacs but I may ditch vim for emacs or micro as my CLI editor of choice.
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Re: Lightweight IDE for Linux, BSD etc

Post by danboid »

I've tried micro now. It seems quite nice but it doesn't seem to let you open a shell in a split. You can run terminal commands from within micro, but it temp quits out of micro whilst you use the terminal, which isn't the greatest workflow. I'd currently have to use it with tmux or screen which is hassle I don't have to deal with when I'm running X anyway. I've suggested they port it to TinyGo if possible to better match their projects name :)
User avatar
danboid
Posts: 1881
Joined: Sun Jun 14, 2020 12:14 am

Re: Lightweight IDE for Linux, BSD etc

Post by danboid »

I was wrong about micro's support for terminals. I've got nice terminal integration working now. I had to add the line:

Code: Select all

"Alt-c": "command:hsplit,command:term",
Into ~/.config/micro/bindings.json, now I can launch a new terminal console in micro just by hitting alt+c.

It looks like I'll be able to run builds and launch cuzebox from within micro too by using the `run` command, something like:

Code: Select all

"Alt-r": "command:run 'cuzebox /path/to/rom.hex'",
Last edited by danboid on Sun Nov 01, 2020 11:09 pm, edited 1 time in total.
User avatar
Artcfox
Posts: 1382
Joined: Thu Jun 04, 2015 5:35 pm
Contact:

Re: Lightweight IDE for Linux, BSD etc

Post by Artcfox »

Cool, yeah Emacs can do all that, I've even used it as an "IDE" with a remote gdb session to step through my Uzebox game running under the uzem emulator (which has built in gdb-server support). I have used Emacs for many years, but I feel like I've barely scratched the surface in terms of the level that other people use it.
Post Reply