VS Codium.
It’s VS Code, minus the Microsoft bullshit.
Source code is MIT licensed.
I really wish the WSL extension wasn’t locked behind VS Code. My workflow is heavily reliant on it which locks me into the proprietary IDE.
when I install codium (with yay, because I use Arch… btw) there is a package that just makes the plugin store the same as Microsoft’s. I found one that wasn’t working and that was MS pylance, I use pyright now.
What’s the package called? Am on nix but might look into it later
you lucky bastard, I just so happen to take a screenshot when I set it up
Ah fantastic thank you
Your welcome!
For blind people: it’s called aur/vscodium-bin-marketplace.
Right, sorry and thanks.
You should be able to setup WSLg then run the Linux Codium in WSL. Regular VS Code will work that way, it just gives a little “hey, you know you could use remote WSL right?” message then keeps chugging.
Is WSLg on Win10 yet?
Yep. I have it running with an Intel integrated graphics chips. There was a driver I had to download direct from Intel instead of HP, though.
https://github.com/microsoft/wslg
https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps
The benefit of the WSL (and SSH and Docker) integration is that you still run the native version of VS Code for your OS, and just the server portion of VS Code runs on the ‘remote’ server. Running the whole of VS Code (or Codium or whatever) in WSL probably works but there’ll be little annoying things with it since it’s not running natively, for example you can’t drag files from Explorer into it, can’t have a PowerShell terminal open alongside a WSL one, etc.
I don’t think the SSH integration is locked down, so I wonder if you could install OpenSSHd in WSL and connect vis SSH.
For sure the remote extension option is better, just wanted to let TwinHaelix know the native Linux version is an option if the extension can’t be loaded.
can’t have a PowerShell terminal open alongside a WSL one, etc.
How are you getting this to work? According to only the default profile can be opened with the local integrated terminal. The default profile seems to be bash, so that fails. But I wouldn’t want set my default profile to PowerShell when I’m in WSL.
Have you tried manually installing it?
Please stop treating code editors as if they were IDEs.
VS Codium/Code is not an IDE, and it never claimed to be. It’s a code editor, like Kate, Vim, Neovim, etc. It only integrates a language server for code editing and some static analysis. It does not integrate a debugger, build system, test system, execution, etc.
IDEs are old school large systems that integrate a code editor, build system, test automation, etc., such as M$ Visual Studio (not Cod(e|ium)), CodeBlocks, Eclipse, JetBrains software suite, etc. They are complete opposition of the UNIX philosophy that the program must do only one thing and do it well.
Besides, when dealing with IDEs, I used to like Eclipse C/C++ and Corrosion IDE because one could easily add link-time dependencies to a project and it generated sophisticated makefiles for you. Besides, if you have a more custom workflow, like auto-generation of source code from a domain-specific language, there’s no IDE that can help you. This is the downside of IDEs. Also, nowadays, I found that NeoVim+Coc with Meson build system makes the same thing and even better.
Can you elaborate? I can do debugging, run code and tests in VS Code.
VSC has JSON configurations for executing tasks but it’s non-trivial to configure. A proper IDE would provide a graphical, fool-proof configuration for that because it’s easy for non-professional to accidentally destroy your JSON file.
Also, if you have to use terminal in an IDE for trivial tasks, then it’s also not an IDE.
Not that I liked GUIs, but with IDEs, like Eclipse or Visual Studio, one wouldn’t have to configure something with JSONs.
Vs code is an IDE change my mind
vscode/vscodium + addons is an IDE
As far as I’m concerned, as long as the editor alone can handle every step of the process from development to testing to version control to deployment to debugging, it’s an IDE.
I don’t care if it doesn’t natively ship with all these things and you have to append them with plugins. (I thought we championed software that doesn’t force bloat features we’ll never use down our throats?) The only applicable factors are that it exposes the extensibility to add them, and that someone has added them.
Does that make EMACS and Vim IDEs, too? If you’ve sufficiently tricked them out with plugins, extensions, and helper scripts to do every part of your pipeline without leaving the editor, then I guess so! It is an Environment that has Integrated everything you need for Development. If it quacks like a duck…
VS Code is an IDE, and I’m tired of pretending it’s not.
I just wish finding all references didn’t take an entire minute to show me a single reference though. By the time it loads I don’t even remember why I care what’s referencing the function anymore.
Obligatory Emacs
It’s probably Emacs, but I’m a Neovim user, so I’m going to go with that.
Same here. Emacs is a solid choice, if you wanna get lispy. I just tend to prefer the vim way of things and don’t have the time and energy to try learning Emacs again at the moment.
lispy?
Emacs is basically a Lisp interpreter with other utilities, like a text editor, wrapped around it, allowing it to be self-extending. So, if Lisp is language that you like or are interested in, Emacs is a good place to be.
never heard of a lisp language
vim
deleted by creator
Depends on your definition of an IDE, but nowadays vim can be extended to have basically any feature you’d like. Especially neovim.
That’s fair. I mostly use plain vim, and should branch out more. I hadn’t considered the extensions it provides.
and since we’re here… vim > emacs 😉
Depends on the language doesn’t it?
Unless it’s something like an HDL for a proprietary FPGA suite, in my experience, not really, no. Just need a good LSP, Treesitter grammar, and the rest is just QOL. Not having to switch tools is a perk.
A lot of Python programmers insist that Pycharm is a must, but honestly I got by with nvim + LSP for the times I write Python
Emacs, because it’s so configurable that if it isn’t the best FOSS IDE it’s your own fault for not configuring it right.
In Emacs, you are the IDE
no love for jetbrains ides?
FOSS?
Yes, Apache licensed: https://github.com/JetBrains/intellij-community
Not sure how fully featured it is, it’s been close to two decades since I last used it ;) It certainly was better than Netbeans or Eclipse back then.
Huh, thought they were closed source. TIL.
The community edition has always been open, but it’s lacking many features that professional devs would want.
Most of them are. IntelliJ and PyCharm have open source community editions.
Wow, didn’t know it was FOSS as well. Makes sense, their Java and Python IDEs are both free.
deleted by creator
Well nvim, obviously. It’s pretty much fully featured. With LSP plugins you get all the code completion, hints, type info, docs and so on. You also get typical navigation like ‘go to declaration’ and some basic refactoring. And all inside the best editor there is. I’m using it for C, JS, JSX and Rust and all works great. I honestly prefer it to IntelliJ, it loads faster and is more responsive.
My favorite is Kate because it’s less of an IDE and more of a text editor with side panes for the project tree and a terminal to run the program. Easy enough to set up a hot key to save-build-run. I think that’s all I need?
Right there with you, I’m on the admin side of things, so the time it takes the app to start is a bigger deal to me than the full featured-ness of VS Codium, but provides contextual highlighting and some quality-of-life coding features that you won’t find it text editors.
Lots of replies mentioning Emacs but Emacs out of the box is gonna be essentially a text editor (insert obligatory: Emacs isn’t a text editor; it’s a LISP interpreter).
However, install Doom Emacs, and you have a full IDE experience for essentially any language you could ask for. I highly recommend it.
Emacs is a life style
is there a flatpak of this?
I’m not too familiar with how Flatpak works but Emacs benefits from compiling it on your machine natively. Tell me what distro you’re on and I can see if I can find out how you’d do that.
linux mint - can i use doom emacs btw. also thx
A Flatpak of Doom Emacs? No. But you can just install the normal Emacs flatpak and then install Doom Emacs with 2 simple commands:
git clone --depth 1 https://github.com/doomemacs/doomemacs ~/.config/emacs
~/.config/emacs/bin/doom install
Emacs will read these config files from the .config/emacs directory. Doom Emacs is not a different version of the program, it’s essentially just a set of configuration files.
it’s not working for me? sorry to ask but could you try it? linux mint lts btw
I don’t have a Linux Mint installation right now, but when I used Mint a few months ago this worked for me. The two commands are from the official Doom Emacs install guide. Could you tell me exactly what doesn’t work?
when i use those commands it assume emacs is installed as a system package and installs to a different location not accessible to the flatpak
Try
PATH="/var/lib/flatpak/exports/bin/:$PATH" ~/.config/emacs/bin/doom install
is that one command? also is there any disadvantgaes to emacs as a flatpak
Following up from my previous comment, there is a Flatpak of Emacs available on Flathub. Here are the instructions for how to install, whilst enabling native compilation, which will offer a performance increase and allow you to use features such as
vterm
(the best terminal emulator for Emacs).
How about VSCodium? I don’t think I should explain why VS Code is best editor.
You might need to explain to me. I’ve been having so many issues just using vscodium, took me forever to figure out I need to build and compile the code myself and not run it using the play button like Visual Studio in school (I’m a second year comp sci student).
This is only the case if vscodium is not bundled with your distribution
I use Arch (btw) and believe I downloaded vscodium and all of its dependencies.
In vs code there’s a run button just like in visual studio. You can also press F5. You will most probably need to install an extension specific to your language so vscode knows what to do when you press F5. For some languages, you’ll also have to create a launch.json file manually. launch.json is what describes what the “run” button does.
Tried doing so but couldn’t get it to work.
In what language did you try?
C++
VSCodium, emacs, vim/neovim, helix.
Helix is pretty slick, but it’s not very extensible. Very easy to use and if the out of the box features are good enough for you then it’s a fine IDE.
Neovim is my preference unless I’m working with Jupyter notebooks, in which case I switch to vscodium. It’s a pain in the ass to set up. I took the easy way out with LazyVim. It’s fast to work with and I can use it for almost everything.
I dabbled with emacs many years ago. It’s like vim but completely different. You can make it do anything. Personally, I don’t care for the keyboard shortcuts. It’s probably easier to pick up than vim, but all the key chords and sequences are too much for me. In any case, anyone willing to look at vim should also take a look at emacs.
VSCodium is accessible and extensible. You can’t go wrong with this one. It can’t refactor like the Jetbrains stuff, but if there’s anything else it can’t do then I don’t know what it is. It’s a great IDE.
Really, any of these can do just about any job and do it very well. There’s no choice that clearly stands above the others. It really comes down to personal preference.
Neovim all the way, super fast and lends you heavy control.
how does not having a gui work? it’s just the terminal right?
There are multiple gui front ends, but its still very popular to use it in the terminal. Its a TUI, so it practically works like a GUI.
difference between cli and tui? also what frontends are good
In a cli you only type commands and send them with Enter, in a TUI you can click/move around with the arrows just like in a gui.
Edit: dont know about good front ends.
Intellij IDEA Community Edition
Emacs because it lets you configure everything exactly the way you want it. You can also go with Neovim, but it only runs in the terminal.
You can also go with Neovim, but it only runs in the terminal.
To me, that’s a feature, not a detractor.
ETA: Not intending to imply that Emacs isn’t also a fine choice. I just like the terminal.
I really like Neovim and I’ve been using it for over 2 years as my main IDE, but recently I started getting into Emacs. I like the Terminal as much as you do, but I just wanted to try out something new, so I went with Emacs. I’ve been using it for some time now, and I’m probably not going back, I’m very happy with it.
That’s awesome! I’m probably going to give it another go over the holidays. It’s a super powerful tool and I recall liking it before but it just didn’t mesh with my needs (or I didn’t know enough at the time to make it mesh with my needs).
One of the goals of neovim was to introduce tools to build a GUI around vim. Imo the terminal is by far the best option, but there are some fun options. Neovide is an interesting one. Mostly because it doesn’t do too much – just eye candy.