Falling in love with Visual Studio Code really!

First things first, visual studio code is not visual studio stripped down to build a light version of the same old stuff. This is a completely different editor which brings with it many good features from Sublime and Atom and other light text/code editors. Whereas Visual Studio is an ecosystem for windows developments.
I am a big fan of Sublime and have been using it for almost 2 years. It gives you a lot of features and functions with vast extensions and plugin system. But still, I missed some of the features that an IDE provides you like debugging or context-aware code completion or on the fly documentation of functions and piece of code. Sublime has achieved some of these by means of extensions but still, they lack completeness.
As a developer, what do we look for in an editor? Here is what I want in my editor.
  1. Fast
  2. Simple
  3. Customizable
  4. Support for languages
  5. Code completion
  6. Debugging
  7. Integration with SCM providers
As a sublime user I have had luck with first 4 points, but debugging, Code completion and integration with git are what I expected to be out of the box.
Microsoft felt a need to connect with a vast audience of developers who are from other platforms than windows. So they went ahead and developed Visual Studio Code or VS Code for short.
It’s a cross-platform and moreover open source ☺, yeah Microsoft does support open source!
The main reason behind creating VS code is to provide something more than just a code editor but not so much that it deviates from the basic requirements of a code editor mentioned above.
It favors more towards editors than IDEs. VS code is majorly influenced by Atom and Sublime both in terms of design and implementation.
The UI is simple and intuitive.
code basics hero
Go ahead and grab the version for your platform.
The best feature of the VS code I love most is IntelliSense, yes they took it from Visual Studio! This feature gives you clear and fast code completion based on the context of code that you are working with. Be it Javascript, nodejs or python and the best thing is you can add support for multiple languages by adding an extension for that language.
IntelliSense demo
Moreover it's not just for languages, you can use it even in your package.json definition and it will give you completions, isn’t that cool.
intellisense in package json
As provided by the language service, you can see quick info for each method.
parameter info


One of the key features of Visual Studio Code is its great debugging support. VS Code's built-in debugger helps accelerate your edit, compile and debug loop.
Debugging diagram
Although we need to setup debugging you’ll need to take some steps and set up your launch configurations, its worth it, imagine the pain of using print and console log for debugging.
Here is the one generated for Node.js debugging:
    "version": "0.2.0",
    "configurations": [
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${file}",
            "cwd": "${workspaceRoot}"
            "type": "node",
            "request": "attach",
            "name": "Attach to Process",
            "port": 5858

Version Control

Visual Studio Code has integrated Git support for the most common commands. This makes it an excellent choice to manage your code commits while you develop.
git overview
The Git icon will display pending items to be committed and the staged files. There are plugins available for going through the complete git history and branching.

Visual Studio Code Tasks

Another outstanding feature of VS Code is Tasks. There are various task runners available out there, likes of grunt, gulp, jake, ant and what not. VS code provide easy integration of these with tasks feature. Check out the documentation for more details at Tasks in Visual Studio.

VS Code can talk to a variety of external tools


Popular Posts