Second.
I feel very strange hating Windows, so I use Linux, but loving VS Code, so I use that on Linux. I feel like a hypocrite or something.
But the integration with platformio, github copilot, and all the plugins and customization are just too nice. It’s a one-stop shop for everything dev-related. It’s the only thing I need to run when programming along with a web browser for research.
Use VScodium
I know VScodium doesn’t have the telemetry but is it lacking features regarding account login and extensions?
Some extensions don’t work but many do, you just have to download the extension files from the marketplace website and tell VCCodium to install the extensions from those files.
You can configure it to use MS’ extensions marketplace.
VSCode is pretty good, but honestly most of these advanced text editors are more or less interchangeable to me, especially with LSP and DAP making language servers and debugger integration editor-independent. I don’t really feel strongly about any of them, in spite of the fact that as a comp sci student it’s the type of software I spend the most time using. I personally use Kate the most, since it’s lighter and integrates better with KDE. On my Steam Deck I use VSCodium for quick edits, because it works better in gaming mode. It’s basically what (Ungoogled) Chromium is to Chrome, but for VSCode. For exams at school I use plain old VSCode since obviously I can’t install Kate or VSCodium in exam sessions. The experience is all things considered pretty similar for all of these. I guess there just aren’t a billion ways to design a powerful text editor with built-in debugger, terminal, file manager and kitchen sink. We’ve gotten the formula down by now.
I feel pretty much the same way about web browsers. On desktop at least, they’re all functionally identical, just that some of them have built-in functionality you have to use extensions to get in others. On mobile Firefox all the way of course, because it’s the only one with extensions.
Use whatever you like :) I tried VSCode at work for a few months but it felt quite lacking when working with larger C++ projects. Switched to CLion instead and it felt like it was faster, understood C++ much better, and made it easier to work in multiple files simultaneously. But I could see myseslf using VSCode for some small hobby project, especially if it’s C#
Why would it not work? I use neovim.
Ubuntu 18.04 is end-of-life since Spring 2023. VS Code is going to require a newer version of glibc than Ubuntu 18.04 comes with. One does not simply upgrade glibc.
This new requirement was announced 6 months in advance, but no one reads the changelog, and enough companies still use Ubuntu 18.04 (hopefully while paying for the Extended Security Maintenance), so many people were surprised and unhappy when their VS Code stopped working for remote development over ssh on Ubuntu 18.04 servers. VS Code installs and runs stuff such as language servers on the remote machine.
VS Code is going to require a newer version of glibc than Ubuntu 18.04 comes with. One does not simply upgrade glibc.
One might have an application-private newer build of glibc and set LD_LIBRARY_PATH to the directory containing it prior to launching VS Code.
Vscode remote ssh is clever, to be clear, and in many cases is ideal. But it seems to me that they really need to ship an out-of-the-box extension that does edit over sftp with local caching as a fallback option. Notepad++ does this and it’s great.
I know that there are a bunch of 3rd party extensions that seem to do this but most seem a little bit janky as you dig in to it. This needs to be an official Microsoft extension.
In general, I don’t want my IDE running or depositing anything on my servers that I haven’t explicitly asked for, especially if a main goal is to simply edit config files easily via a familiar editor application. Basically a ‘leave no trace’ philosophy (for the sake of predictability, consistency and control, not for any nefarious reasons).
(that said, remote ssh with vscode server is fantastic - but only when I actually want it).
Have to second this, I love Vscode over ssh but don’t really want to use it on a machine I don’t own personally because of it installing itsself everywhere you go. Fortunately sshfs and neovim exist
Thank you - next on list was trying to find an appropriate package in neovim to do this. (I was never in doubt that something existed - I mean, even midnight commander has this built in!)
Yeah, when I switched to vscode and realized what was going on, I got a bit uncomfortable.
… but I sided with convenience.
Not being able to see the source code of extensions, and having them loaded and executing remotely really ought to be a non-starter, but for some reason we find ourselves ok with this?
Maybe there are checks and balances? I really don’t know - but I certainly don’t know what they are.
I’m actively exploring alternative cross-platform editors for this and other vscode usability reasons.
When MS killed Atom we forked it as Pulsar (https://pulsar-edit.dev/). It is under active development, entirely community-led and everything is as open and transparent as possible. We have downloads for various Linux distros (x86 and arm), macOS and Windows. Might be worth a look if that is the kind of editor.you are interested in.
Excellent - I was not aware!
Find anything? I hear Nova is okay but it’s Mac only.
Sublimetext technically fits the bill for this I think, but its feeling a bit long in the tooth.
My go-to ages ago was UltraEdit. But I am not sure I want to fork over the cash. I’m contemplating Sublime. But I’m kind of diving into NeoVim to see if I can get used to it (vi isn’t natural for me at this time). It has the potential advantage of being terminal based and is therefore very portable. There are a ton of great modules and it is very activately being improved.
The killer feature that UltraEdit and Notepad++ have is virtual space (ie you can extend vertical blocks over lines that are shorter that the cursor position and it’ll automatically extend the line with white space. For SQL (and other things) this is a godsend for right aligned right brackets etc. (oh Geany does this too but it’s a very janky feeling application.)
Sublime doesn’t have it. Vscode ignores ongoing pleas to add it. Not sure NeoVim will have it, but there’s no cost to me for trying.
The main things holding me back from UEdit are cost, and he fact that UEStudio is windows only. Not being terminal based is also a strike against it, but not a showstopper. It’s just too much money when an employer isn’t paying.
I know emacs exists but it’s too deep a rabbit hole when I just want a go to edit text with a few minor bells and whistles…
For neovim check out mini.align
@indigomirage Neovim ? (there are pre-configured #neovim based IDEs with every fancy thing such as Nvim-Chad)
For sure - but it’s a matter of getting accustomed to vi. I also prefer to really understand what each add on does. Not ruling out pre-packaged, but am working through assembling my own config first.
And then there’s learning vi (I can use it, it’s just not yet second nature).
@indigomirage Always better to do so, I just included a mention of the pre-built IDEs because it can be a hassle to set up and prevent people from trying
I’m using VSCodium. It’s just like VSCode just without the telemetry.
It’s a good idea. But fundamentally, it suffers from the same (other) issues as vscode itself.
Oh dang I thought I was safe using codium. What other problems should I be aware of?
AFAIK, the only difference between codium and vscode is that telemetry is stripped out. I haven’t used it, but I imagine it’s great. It works the same as vscode in other respects. (unless someone corrects me here).
The main issues I have with the vscode/codium approach is that remote ssh works by installing and executing a server at the remote location (including installation of extensions).
To me, this is convenient but risky - it necessitates prerequisites on the remote server (which caused issues for older server installs), it leaves stuff behind on the remote (if you just want to edit a config why would you want to litter the remote server?). Fundamentally I’m not sure why this isn’t a very, very serious potential vector for malware - others can correct me. Do you want to inadvertently put 3rd party nice-to-have extensions written by just anyone running remotely?
They could mitigate this by having an official extension than has an option to do simple sftp access with local caching (as is done with many other editors like UEdit, npp, mc, vim, etc…). Most 3rd party extensions for this that I’ve seen seem very janky. It begs for something official.
My other issues with vscode are subjective - it lacks virtual space editing, and, frankly the whole thing is a bit slow for me. Again, this is subjective.
There’s also proprietary packages that don’t work with vscodium, like Microsoft’s pylint or something I forget, but I had to go to great lengths to get features like refactoring and auto formatting in my python files after switching to vscodium.
Oh I don’t use remote server within my ide. If I wanna push code or files I just use a git repo.