this post was submitted on 04 Aug 2024
74 points (98.7% liked)

Linux

48081 readers
796 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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!

top 50 comments
sorted by: hot top controversial new old
[–] 4vr@lemmy.ca 18 points 3 months ago (3 children)

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.

load more comments (3 replies)
[–] Boxscape@lemmy.sdf.org 18 points 3 months ago (1 children)

You could consider something like LazyVim installed on top of Nvim so you don't have to configure it from scratch.

+1, I would recommend neovim with lazyvim. The documentation is excellent, and it's very easy to set up.

https://www.lazyvim.org/installation

[–] Daeraxa@lemmy.ml 16 points 3 months ago* (last edited 3 months ago)

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.

[–] solrize@lemmy.world 15 points 3 months ago (1 children)

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@lemmy.ca 4 points 3 months ago (1 children)

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@lemmy.ml 6 points 3 months ago

I thought Emacs was an OS? 😏

[–] thayer@lemmy.ca 12 points 3 months ago* (last edited 3 months ago)

Distrobox will resolve your issue with VSCode and then some. Run archlinux, debian or whatever you want as a container. Then, install VSCode/VSCodium (and any other apps that Chimera lacks) inside the container OS. This will keep your development environment containerized and safely away from your host OS.

[–] schizo@forum.uncomfortable.business 11 points 3 months ago (1 children)

Why not just download a binary and/or make your own binary from the vscodium github page?

They've got a ton of statically linked ones to chose from that should be simple to just untar and run.

[–] fernlike3923@sh.itjust.works 3 points 3 months ago (2 children)

I would really prefer getting the text editor from flatpak or the system package manager for auto-updates, though I'm not sure if the binaries you mention also get auto-updates.

[–] JackbyDev@programming.dev 2 points 3 months ago

Codium auto updates itself, yes.

[–] sloppy_diffuser@sh.itjust.works 2 points 3 months ago
  1. Install nix.
  2. nix profile install nixpkgs#vscodium
  3. nix profile upgrade '.*'

Won't auto update but you could add the upgrade command to a login script or something.

Won't lie, nix has a high learning curve to get the most out of it, but installing a single app is pretty simple.

[–] nous@programming.dev 10 points 3 months ago (2 children)

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.

load more comments (2 replies)
[–] henfredemars@infosec.pub 9 points 3 months ago

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.

[–] murtaza64@programming.dev 8 points 3 months ago

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.

[–] rwdf@lemmy.world 6 points 3 months ago (1 children)

I use Neovim, specifically LazyVim. It's super easy to get up and running with Go.

[–] hasecilu@lemm.ee 4 points 3 months ago

I really love how LazyVim have support for a lot of languages as Extras. Once I needed Go formatting so, installed Go extra, restarted NeoVim and all was ready, in less than a minute!

[–] uzay@infosec.pub 5 points 3 months ago (1 children)
  • 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.

load more comments (1 replies)
[–] TootSweet@lemmy.world 5 points 3 months ago (1 children)

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

[–] fernlike3923@sh.itjust.works 3 points 3 months ago

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

[–] KindaABigDyl@programming.dev 5 points 3 months ago* (last edited 3 months ago)

You can use VS Code and Vim/Neovim for any language, as well as document writing and basic text editing. Just search for Go plugins

It shouldn't be hard to use either. If it is, you're doing something wrong probably

[–] unn@lemmy.ca 4 points 3 months ago* (last edited 3 months ago)

Helix or GNU Emacs, you can't go wrong

[–] EmasXP@lemmy.world 3 points 3 months ago
[–] emax_gomax@lemmy.world 3 points 3 months ago

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.

[–] adespoton@lemmy.ca 3 points 3 months ago* (last edited 3 months ago) (1 children)

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@sh.itjust.works 1 points 3 months ago* (last edited 3 months ago) (1 children)

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

load more comments (1 replies)
[–] rjek@feddit.uk 2 points 3 months ago

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.

[–] Samueru@lemmy.ml 2 points 3 months ago (1 children)

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@sh.itjust.works 2 points 3 months ago (2 children)

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@lemmy.ml 1 points 3 months ago

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

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@lemmy.ml 1 points 3 months ago (1 children)

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@sh.itjust.works 1 points 3 months ago

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

[–] possiblylinux127@lemmy.zip 1 points 3 months ago

I use VIM but I am not a Go developer

load more comments
view more: next ›