Skip to main content

Why I Switched to Visual Studio Code

Should You Trust Microsoft's Newly Found Love?

I am an avid GNU/Linux user. So the thought of using a Microsoft product (if any available) is of course a no no. At least that's what I would have said before Satya Nadella became the CEO. Microsoft is a changed company under Nadella. One can only imagine the effort it must have taken to convert such a technology giant. Microsoft has been releasing products that support GNU/Linux. Best of all, many of them are available under Free Software licenses. In 2016 GitHub reported that Microsoft was the top contributor on GitHub. Considering Microsoft's hostility for Free Software, this was a big feat. People have written posts about whether to trust Microsoft's intentions and whether to use its products on GNU/Linux. Microsoft boldly claims it loves GNU/Linux.

Microsoft loves Linux
Microsoft ❤ Linux

Enter Visual Studio Code!

One such product is Visual Studio Code. It was announced at //build/ 2015. This was the first product from Microsoft that supported the GNU/Linux platform. I gave it a shot back then but wasn't much impressed and I also didn't know what to think of a Microsoft product on GNU/Linux. Like many others, I was suspicious. Fast forward to today, things have changed drastically. For the last couple of months I've been Visual Studio Code at my work, albeit a Windows machine. I was blown away by its features and decided to make it the default editor on my personal machine running Ubuntu 16.04.2. In a previous post I wrote that Atom was my editor of choice. I have decided to change that. Let me tell you why.

Why Visual Studio Code?

Faster Startup Time

On an average, VS Code loads faster than Atom. Since version 1.17.0 Atom's start up time has decreased significantly. But it's still behind VS Code's start up time.

IntelliSense

The IntelliSense i.e. autocompletion in VS Code awesome. Inline documentation and parameter highlighting are just cherries on top.

Animated image showing a demo of IntelliSense in VS Code
IntelliSense on Visual Studio Code

JavaScript Support

JavaScript is one of my favourites languages and VS Code comes with excellent support for it. Even with Tern install, Atom can't match VS Code's IntelliSense. To top it all up, VS code has a built in JS debugger!

Settings

One of the neat features of VS Code is searchable settings.VS Code uses a JSON document for its settings as well as for the extensions. This is great because the settings menu doesn't have hundreds of buttons and it you don't need to go back and forth for settings of individual extensions. Another great feature is that the settings items are searchable and IntelliSense also works there.

Screenshot of VS Code's settings page
VS Code Settings

Atom Keymap and the One Dark Theme

I loved Atom's keymap and the One Dark theme. VS Code is highly customizable and there are extension that let me use the Atom keymap and the One Dark theme.

Extensible

VS Code has support for extension. There are many, many great extension available. There are some awesome extension available for static web development, Angular, project management etc. I haven't found any alternative for these extensions on Atom.

Built on Electron

The team behind Atom came up with Eletron (previously known as Atom Shell). Electron allows developer to use web technologies to build native desktop apps for GNU/Linux, Windows and macOS. Atom is built on Electron. So is VS Code. Hence it's multi-platform. This is crucial for me as I use a Windows machine at work and a GNU/Linux machine at home.

Built-in Terminal

Visual Studio Code comes with a built-in terminal that pops up from the bottom. It's really useful when you want to compile your code or run a command. You don't need to switch to a terminal to compile your code only to find out that you have a syntax error; which means you need to switch back to the editor now. I had installed an extension to get the same feature in Atom. But, as new versions of Atom came out, that plugin stopped working. There are other extension which do the same. I haven't tried them all. But in my opinion, a native feature will always get better support (in the long run) than an ad-hoc one.

Screenshot of VS Code's built-in terminal
VS Code's Built-in Terminal

These are the main reasons behind the switch. It, however, doesn't mean that I am now a VS Code fanboy. Though is does change my attitude towards Microsoft. If these features come to Atom (some of these originated from it) and Atom gains some features not available in VS Code, I'll gladly switch back. But for now, it seems VS Code has beaten Atom in its own game.

Update (15.06.2017): Today I came across a post which reiterates the reasons I mentioned above. You can read the post here.

Comments

Popular Posts

Why I Started Blogging

It's been almost 5 years since I started blogging. This is the 30th post being published. That means over the course of 5 years, I've written 6 posts per year. Although 30 is much less than I would have liked, this is one of those pet projects I have continued even after the honeymoon phase. Today I want take some time and discuss why I started this blog in the first place. I was in my 3rd year of engineering studies when I started out. I had already developed a keen interest towards programming and tech in general by then. Having a blog seemed liked a cool idea. There were couple of more reasons to go ahead with this idea. That's what we are here to discuss today. Setting up a blog seemed like a technically challenging task. I wanted to know how to setup a blog with comments, advertisements and with a custom domain. It sounded like a great way to acquire new skills and learn new things along the way. Back then I didn't know anyone who shared my enthusiasm for tech

Dear edX!

Dear edX, I was in my 2nd year of college when you came to life. And I was ecstatic! No, not to be in college (LOL) but to have finally found my calling. Computer programming. I was browsing through all the resources I could find. Codecademy courses mainly. And right at that moment, you arrived. Your parents hail from the Harvard University and from the MIT. So of course you received my attention. Also, you had an unique selling point: free certificates. This was huge! No one else was doing it. It seemed you were actually trying to help students learn new skills and show off to the world. I was stoked to enroll into the course developed world's top professors. The free certificates were a big motivator to complete the courses. The first course I enrolled into was developed by The Linux Foundation. I have taken several courses since then. Some were on computer programming, some were about a country's history and some provided advice on career growth and personal finance. 2

It's Time India Gets Cashless Payment

India just had a mobile network revolution yesterday; thanks to Reliance Jio. It's time India gets another long-due technology i.e. mobile payment. There are many advantages of using mobile payment over cash or ATM cards. You are less likely to lose your phone - assuming you fiddle with your phone as much as I do. Even if you lose your phone, you can at least try to track it down using GPS. Your phone doesn't physically deteriorate over time. No need for mints. No wastage of paper. It's environment friendly. No maintenance needed unlike ATMs. More secure than ATM PIN codes. Mobile payment uses your fingerprints for verification. Mobile payment is much more convenient. Your employer transfers your salary to the bank and you can directly pay from your bank account. No need to withdraw the cash and hand it over to the merchant, who eventually does the reverse process after they received the money. Such waste of time. Instead just bring your phone or watch close to the

Why Do We Still Pay for Voice Calls?

It's 2015. We have self-driving cars, mobile devices that rival laptops built 3 years ago, gigabit Internet connections and still, service providers make us pay for voice calling and SMS. That seems to be the dumbest thing to me. Let me explain... There are generally three things that you do on your phone, that needs to communicate with the network. First, there is voice calling, then there is SMS and lastly, there is web browsing and other stuff that requires an Internet connection. Now, put simply, Internet is all about sending data up and down, and if you think, SMS is also data. If we had a system, SMS can also be sent using the Internet. No I'm not talking about free SMS services here. Some of you might argue if we really need to have the SMS feature, but that's a different story. And then there is voice. VoIP anybody? That's been out there for ages! Why not route all the voice calls through the Internet? That's a question I'd like to ask the service

My Experience with GNU/Linux

The Beginning My Dell Inspiron N4010 came preinstalled with Windows 7 Home Basic. After one year or so, I decided to try out GNU/Linux. Why you say? Well, my interest grew when I came to who about the concept of Open Source Software. I started exploring Wikipedia to know more about Open Source Software. Read lots of articles there, and came across the licensing term GPL numerous number of times. While investigating what GPL was, I came to know about the GNU Project, the Free Software Foundation and the GNU/Linux OS. Then, I thought about giving GNU/Linux I try. Now, everybody has a vision about GNU/Linux.. It is THE operating system which a techie would use. And it is free. So let's download and install it!! But........ What to download? The Installation The first thing I realized, there were lots of different downloadable distribution of GNU/Linux. Now the question was, which one to choose? So as I figured, with some help from Google of course, Ubuntu was (and still is) th