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 ❤ 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.
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.
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.
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
Post a Comment
Share your thoughts...