Noob Anger at VS Code

·

5 min read

So one of my new year resolutions for 2023 is to begin coding again. Last time I coded regularly was years ago. Life has thrown a lot of abuse at me since then and a lot of it resulted in me giving up my hobbies, such as coding. But I want to learn how to work in Javascript, C, assembler, especially for 6502/6510 for Commodore 64/128 games programming, as well as Java and Ruby interest me.

One of the best tools for code according to others is VS Code. So I set up a VirtualBox and installed Ubuntu 22.10 without any problems. I logged into my Google account from it, set up Firefox, and installed git. Upgraded with apt-get and all seems to be working. So I figured it’s a simple matter of installing VS Code from the Software package store and then I can get started.

Linux has been around since mid ‘90s and that’s about thirty years of development. Shouldn’t something this simple be easy to accomplish? Wouldn’t have millions of open source coders have made sure that someone like me can get going within minutes? So I opened Software and searched for VS Code, found it, and clicked Install. No problems, VS Code installed and I opened it up. Ubuntu has a huge bug which does not surprise me because open source developers kind of suck at user interfaces. The listing of all software on the system in the graphical display only allows for 7-8 characters and anything else gets hidden behind three dots. It looks really ugly, but that’s no surprise, most Linux GUI apps are ugly. But I still found VS Code in there and opened it.

VS Code ran, and I immediately went into File, Preferences, Extensions, and selected GitHub Pull as the extension to install. Clicked Install and all was fine. Then I clicked on the Github icon, and then on Sign In. It launched Firefox and switched to the app. I find this process really lame. Why does it need Firefox, why can’t VS Code have a nice pop up window for logging into Github or other services? So primitive this design of theirs! Still, it asked me if I wanted to authorize it and I said yes and then Firefox changed focus to VS Code. But on the interface nothing was showing. There was no change. No status indicators appeared, nothing different. It still said “Sign In” button in blue as if nothing had happened.

So I clicked it again, but this time Firefox did not open again. In the notifications panel in the bottom right corner there were no messages. I apparently can’t use Github with VS Code? So I went into Preferences and Extensions again and found out I have two Github extensions. One is an old one called just Github but it is marked as deprecated. And the new one that I installed was active and installed correctly. I looked around for settings but none could be found. There was nothing specific to configure either. So I tried another way. I went into Source Control on the left of the main window and in my project clicked Initialize Git. All worked fine as it was a new “Hello World” project in Javascript. It had one line of text. Then I clicked on some button, most of this process and workflow is poorly thought out mind you. And in the main window a tiny text window appeared and it said “Login to sync settings”. When I click this it gives me an option to login to Github or to Microsoft so I chose Github. It then switched focus to Firefox, which was annoying. And it had a really long and ugly URL. A moment later it switched focus back to VS Code. What a stupid UX design! Then nothing changed in VS Code. No dialogs appeared, no popups, nothing indicating if I was logged in or not. I tried the same button, as it again said “Sync settings” but this time it had in tiny letters the phrase “Signed in” and my username “bojanland” which matched my GIthub login. Does this mean the github plugin worked?

But no luck. I clicked on the Github plugin and it still asks to Sign in. I can’t see any issues, I can’t do anything. So I clicked to in source control option to push, the little cloud button changed to the double spinning arrows. And it magically pushed the source code to my github account. Now “helloworldjs” project is a public repository. I’m able to push commits with the source control options even though the GIthub plug in isn’t signed in! That makes sense to some open source person out there but not to me.

Linux was always ugly. People coding it rarely pay attention to elegance of the user experience and rarely do they care about user satisfaction. Generally when I tell people of my troubles they tell me I’m too stupid and that I need to master some secret and special and magical LInux way of doing things. Unfortunately such attitudes are primitive. Linux as it is sucks and I can’t code in it. I want to, but as you can see something as simple as VS code doesn’t work out of the box. I can tinker with it and spend a month configuring it until it works. But after 30 years of Linux development, should I really have to spend so much time to get a basic text editor working? No, absolutely not. I shouldn’t even need to Google for hours to figure out how to login to Github. You people have everything backwards.