The days of Microsoft hating Linux are long past; in fact, the company joined the Linux Foundation in November 2016, surprising many open-source advocates. Visual Studio Code
, a.k.a., VS Code, is another key example. While it’s not exactly an Integrated Development Environment
from the command line runs it. If you’re curious, here are five reasons to use VS Code.
Not Quite a Full IDE, But...
This is beyond a doubt the most useful feature. There's a comprehensive list of extensions available for VS Code in the online marketplace
, which has existed since mid-2015. I looked for Python and found 30 packages out of the current 2,660 extensions. You can search for these from the extensions page or online. Most are free, but it's also possible to pay for extensions. In the Languages category, there are 642 extensions covering virtually every programming language I've ever heard of… and a few I haven't (such as Lean and Nitrogen). Installing extensions is as easy as clicking one button. You can manage them easily, including updating and disabling. It's all very slick and works flawlessly, and the website
shows how you can create your own extensions and publish them to the marketplace. A number of sample extensions are provided, including a debugger and language support for Google Go. Extensions run in their own process for stability and are lazily loaded. After I installed the C# extension and switched to it, it began downloading the Mono Runtime for Linux/x64, Mono Framework Assemblies, OmniSharp and the .NET Core Debugger (Ubuntu 16.04 / x64). Even if an extension misbehaves, you are still able to save or load files in VS Code. The extensibility reference
is detailed and a must for anyone developing extensions.
Develop for Unity
Unity is the 2D/3D game engine and framework that you can program in C# for free (or with a commercial license). This article
on Microsoft's website covers developing your first game (though it predates VS Code). The C# extension includes code colorization, bracket matching, IntelliSense, CodeLens and more. Add in the Unity configuration and you can use it for creating games, but it doesn’t include any tools for image editing.
VS Code can be configured with themes, snippets and language support. The list of user and Workspace settings is very comprehensive and contained in a file settings.json. From the quick links menu on the right of the welcome screen, you can go straight to editing it. On the left is the full list of (currently) 294 settings in a read-only file. You just copy the ones you want onto the right, change them, and save the file. I copied "editor.minimap.enabled" to the User Settings file, set it to true, and the minimap instantly appeared. There are many sections in the read-only file and some appear to have been added by the extensions I installed. Workspace settings are for individual projects and saved in the project folder.
VS Code is very impressive and ran without a glitch on Ubuntu. I did wonder if I could use it for web development—and sure enough, there were three ftp extensions in the marketplace. It’s not as powerful as Dreamweaver (just as an example), but with a bit of work…