There have been multiple accounts created with the sole purpose of posting advertisement posts or replies containing unsolicited advertising.

Accounts which solely post advertisements, or persistently post them may be terminated.

IDE/Text Editor Recommendations for Go Development on Linux

Hello! My question is basically what the title says. I’m searching for an IDE/text editor for Go development and am wondering if anybody knows an alternative to these. Here is the list of software I tried:

  • I’ve tried NeoVim but I really don’t want to waste time doing text-based configuration and messing with extensions just to get some basic features working.
  • I tried VSCodium but it doesn’t exist in my system software repositories (I’m currently on Chimera Linux), and the flatpak version can’t run any system commands.
  • GoLand and Sublime Text are proprietary & paid.

It seems the market for IDEs is pretty small, so I wouldn’t really be surprised if nothing existed that fit these criteria, but thanks for any answers in advance!

Edit: I’ve settled with Lite-XL which seems to be a great editor. Thanks for all of your great recommendations!

cisco87 ,

Try Kate

fernlike3923 OP ,
@fernlike3923@sh.itjust.works avatar

I’m currently using Gnome and can’t exactly change the QT theme in a supported way, so Kate is stuck in a light theme. Using Kvantum makes it look like a mix of light and dark theme in a really bad way.

The GTK alternative Geany also doesn’t work well since it’s also sadly stuck in a constant light theme.

myersguy ,

Doesn’t Kate have its own theme options?

fernlike3923 OP ,
@fernlike3923@sh.itjust.works avatar

I can only change the text editor’s theme but not the UI’s.

leopold ,

Yes you can. UI color is in Settings -> Window Color Scheme. Editor color is in Settings -> Editor Color Scheme. Both are editable separately.

communism ,
@communism@lemmy.ml avatar

can’t exactly change the QT theme in a supported way

Can’t you use qt5ct/qt6ct?

Feyd ,

I like kate in general but I can’t seem to get it to use semantic highlighting with gopls

adespoton ,

GVim is available pretty much everywhere? And it’s infinitely customizable.

It does have a learning curve, but then you get to use that knowledge for the rest of your life.

fernlike3923 OP ,
@fernlike3923@sh.itjust.works avatar

I’m going to have to take a look at that tomorrow since it has become pretty late here. Although thanks for the suggestion!

adespoton ,

I’ve been using vim/GVim for over 30 years; with only minimal tweaks I’ve used it with maybe 15 different programming languages/compilers, a few of which needed custom configurations written to do anything useful.

While everyone else is struggling to get on with the IDE du jour, I just get stuff done without having to learn anything new other than a new syntax and library set.

TootSweet ,

What do you want an IDE to do (that a straight-up text editor wouldn’t?)

fernlike3923 OP ,
@fernlike3923@sh.itjust.works avatar

I just need something that supports gopls and some basic features such as syntax highlighting, reasonable indents, code-completion etc.

solrize ,

I found emacs to be perfectly fine. Didn’t need an IDE. Go compiler then was astoundingly fast–instant builds, basically. I think newer Go compilers are slower but generate better code. It would be nice to have a compile time flag to turn the slow optimizations on and off, like C compilers have.

corsicanguppy ,

Didn’t need an IDE.

That’s actually considered an IDE.

And, these days, runs leaner than vi for single-file editing from a dead start. It’s weird but it’s true by like 1%.

Unreliable ,

I thought Emacs was an OS? 😏

rjek ,

Helix. It’s modal like Vim but the defaults just work, and a quick “hx --health” will list every mode and what package you need to install for the language server.

kata1yst ,

Try Lunarvim. It’s NeoVim, but ships as a fully functional IDE with easy customization if needed. Honestly I basically just changed the theme, font, and added a preview scrollbar.

Blazingly fast, extremely functional, endless customization if desired.

uzay ,
  • I’ve tried NeoVim but I really don’t want to waste time doing text-based configuration and messing with extensions just to get some basic features working.

Have you tried any of the premade Neovim configurations like Lunarvim or NvChad?

Apart from that maybe something can be done with vscodium in a distrobox container or something, I haven’t looked much into that.

Zangoose ,

I used lunarvim until I was comfortable enough to use my own neovim setup, can confirm this it is generally a good way to go about doing vim setups.

Samueru ,

I use lite-xl, it has been very good, but I’m not a Go developer though.

They also release an appimage and I just did a quick test on a alpine container and it works, so it should work on Chimera as well.

fernlike3923 OP ,
@fernlike3923@sh.itjust.works avatar

lite-xl seems very interesting, but sadly I wasn’t able to launch it on Chimera Linux (I get the error cannot execute command “./LiteXL-v2.1.5-x86_64.AppImage”: No such file or directory on any shell I try to launch it with). Is this a simple problem I can fix, or should I run it with Distrobox?

Samueru ,

That’s interesting that it doesn’t work, iirc the biggest difference of chimera is that it uses musl like alpine does.

https://lemmy.ml/pictrs/image/41424822-3bc9-4a05-95c6-0ee3fcc533d9.png

Can you extract the appimage with –appimage-extract flag and run the AppRun that’s inside of it directly? Or that also fails?

Isn’t lite-xl in your distro repo?

Samueru ,

nvm I just noticed that the issue is that I had the gcompat package installed in alpine, which fixes that issue you just had, I don’t know if chimera has something similar to it.

fernlike3923 OP ,
@fernlike3923@sh.itjust.works avatar

Installing gcompat worked and Lite-XL is running now. Thanks!

henfredemars ,

I enjoy VSCode mixed with some Sublime (employer-provided) and Vim in some tmux terminal windows, but I tend to be an oldschool developer who doesn’t really ask for much beyond good syntax highlighting. YMMV.

nous ,

I’ve tried NeoVim but I really don’t want to waste time doing text-based configuration and messing with extensions just to get some basic features working.

This is the reason I switched to helix. Comes out the box with what you would expect so you dont need 10s of plugins and 100s of lines of config to get a base line experience.

theshatterstone54 ,

Yeah, but what happens when you’re too used to using Emacs with evil mode, vi mode in the shell, and (neo)vim for a long time? And now you have to start using helix and its own bindings. If there was a helix with full vim bindings (and plugins, for custom themes) support, I’d probably be using it right now.

nous ,

I did not find it very had to relearn the difference in bindings. Quite a lot are actually the same but one big difference is the selection before action rather than vims movement then action. Which IMO I find the helix way nicer after using it for a while. Never really lost the ability to use vim either and I can switch between them with relative ease. Though I do miss the helix way of working when I am forced to use vi input on things.

EarthShipTechIntern ,

Atom?

emax_gomax ,

Is that still being recommended? Last I heard it was eol, no longer getting feature changes or improvements and was basically superceded by vscode.

EarthShipTechIntern ,

I’m out of the loop. Thanks for filling me in.

Daeraxa ,

Yes and no. The original project is dead but we forked it and continue to maintain and improve it as Pulsar

Daeraxa ,

Pulsar is the current maintained fork of that project, we forked it before it got shut down and are actively developing it,

emax_gomax ,

Just use vscode. It’s basically the standard text editor for everything nowadays. Eventually you may want to start exploring vim/emacs but no reason to prioritise that now when all you need is something you can write code in that gives you squigglies when you do something wrong.

Daeraxa ,

Pulsar is a fork of Atom under active development. We don’t publish a flatpak (yet) but there is a community maintained flatpak for it.

Otherwise if you want to look at something else I’d give Lite XL, Lapce or even Zed (it has now been open sourced and looks like it has a flatpak available) a look as interesting alternatives.

murtaza64 ,

I think neovim with kickstart has out-of-the-box support for go, or if not, should be configurable with two added lines (add the treesitter parser and LSP). Unlike nvchad and lunarvim and stuff, this is not a “distribution” of neovim but a good starting point for a config that makes it easy to slowly learn how to add stuff and change stuff as you see fit.

At the beginning, you can add languages that you need support for pretty easily by adding to a list of LSPs and Treesitter parsers that should be installed; later on you can start adding and configuring plugins as you wish.

I’d say it sets you up about the same level as Helix or a little less than VSCode.

4vr ,

Zed now has Linux support.

And then helix editor works with Go LSP, this is my current daily driver. Even without plugins, helix works better and manageable than vim/emacs. Only thing that doesn’t work is debugger.

greywolf0x1 ,

If you don’t mind, can you share your helix config?

4vr ,

Sure. gist.github.com/…/18cd6f8b0b059073460f0f3c322b893…

Includes both config & languages config.

greywolf0x1 ,

much appreciated, I just can’t seem to get mine setup right

  • All
  • Subscribed
  • Moderated
  • Favorites
  • [email protected]
  • random
  • lifeLocal
  • goranko
  • All magazines