First Impression: Visual Studio Code for Mac OS X

I installed Visual Studio Code (VSCode) on my Linux box few days after Microsoft realized. I hadn't had a chance to play with much; so I decided to install it on my Mac and spend some time with it to get to know my way around better. There is not deny that it's very exciting to see Visual Studio Code in Mac. Moreover, it would be the 3rd software (others are Sublime Text and FileZilla) I truly can use cross-platform. The installation is straight forward: download, unzip and copy to Application folder.

Visual Studio Code

The application start was quite fast; it's almost as fast as Sublime Text 3 (still Sublime is a little bit faster), and way faster than Xcode 6.3 or IntelliJ IDEA 14. The lightweight aspect is one of the most compelling features for me.

The default theme is a modern dark theme. The other one is plain white. Unfortunately, there are the only two options as of now. Custom theme support is yet to come. Although, VSCode's official web site's color theme is a different shade of purple color, (and the logo Microsoft's soft baby blue) the bottom toolbar is familiar Visual Studio purple. That familiarity gave me a comfort. If you ever used Visual Studio Online (Monaco cloud editor), you already know VSCode.

There are only seven menus on the top (usual suspects: Code, File, Edit, View, Goto, Window, and Help) and four big icons on the left (Explore, Search, Git and Debug), each switches a second pane with details open and close. It's clean, consistent, and stays out of the way when you don't need them. It's certainly not a full-blown IDE. It hits the sweet spot between a simple text editor and an IDE.

You can open up to 3 code window side by side; additionally one more pane for either explore, search, git or debug. You can open a Markdown file and on another window you can see the preview. Or while you are coding with TypeScript, you can let VSCode compile to JavaScript on the fly with a gulp watcher task. Or just simply open windows to look at it. Toggling between windows is very simple by keyboard shortcuts.

Command Palette (⇧⌘P in Mac) gives access to all of the functionality of VSCode. It's somewhat similar to Emacs or Sublime command palette (even same keyboard shortcut) but an addition to git integration and running a task, minus plug-in (package) installation. There is no way to access terminal window (PowerShell on Windows) inside of VSCode, but that's the trade-off when you use an editor versus an IDE. VSCode supports neat features out-of-the-box other developer editor supports: selection and multi-cursor, IntelliSense (limited languages), Zen coding (snippets), reference search, easy refactoring, code actions, etc.

Certainly, Microsoft put emphasis on customizability and mouse free environment. It's easy to customize and change the keyboard shortcuts. But it may take some time and training to adapt all those (a lot) keyboard shortcuts. All settings are kept in JSON files, couldn't be more convenient.

I also love to fact that it supports modern Internet languages such as Node, DockerFile, TypeScript, Less, Markdown in addition to other classic programming languages. Features like, Git, autosave, multiple windows, robust command palettes, tasks support (Gulp, Jake, Rake, MSBuild, etc.) make VSCode number one choose of developer editor, even for non-Microsoft stack developers.

In conclusion; VSCode is a very promising editor which comes with tons of features out-of-the-box while remaining super fast to launch and run. However, it's still in preview stage and the team behind it adding more features each frequent realizes. I made my commitment to make VSCode my primary code editor and started to use day-to-day. Try it yourself; you most likely love it too. Happy coding with VSCode.

Here is my top 5 wish list

  • Spell check
  • Plug-in support
  • More IntelliSense
  • More debugging options
  • Custom theme support