Every day, software developers and devs spend many hours working on code or instruction files. This requires working in a high-quality and convenient source file editor. Therefore, finding a free, common, and cross-platform editor is very important for working on the development of software and information systems. Microsoft introduced Visual Studio Code in April 2015 at conference Build 2015. This development environment became the first cross-platform product in the Visual Studio lineup. Visual Studio Code is based on the Electron framework, which allows you to develop desktop applications that run on the Blink engine using Node.js. Although the editor is based on Electron, it does not use the Atom editor. Instead, it implements the Monaco web editor, developed for Visual Studio Online. Visual Studio Code is a source code editor developed for Windows, Linux, and macOS. It is positioned as a “lightweight” code editor for cross-platform development of web and cloud applications.
Why using a source code editor is important?
Visual Studio Code is targeted as a lightweight solution that allows you to work without a fully integrated development environment (IDE). The difference between Visual Studio Code and Visual Studio IDE is that Visual Studio Code is an optimized code editor that supports development operations such as debugging, launching tasks, and version control. It first provides the tools the developer needs for a quick code debugging cycle. More complex workflows are better implemented in more fully-featured IDEs, such as the Visual Studio IDE, but, on the other hand, full-featured IDEs take up more space and require more resources. The importance of using an appropriate source code editor lies in the fact that in an unsuitable text editor writing code is much slower and unproductive. In many cases, installing a full-fledged IDE takes up a lot of space, requires a lot of memory, and will start slowly on older computers. In addition, the average statistical developer makes little use of the specialized functions of a full-fledged IDE and is greatly helped by a tool such as Visual Studio Code (especially if the plug-ins are correctly configured for the programming language and environment).
Microsoft Visual Studio Code
It is a great value to use Visual Studio Code in the development process. This is not just an editor for code, but a platform for installing plugins to configure for a specific task. Moreover, the range of programming languages and development environments, cloud systems, and containers, as well as other tools, is presented as a very wide range of extensions, more than two thousand tools in the extension marketplace. If you add to this the ability to work on Windows, Mac OS, and Linux then we have a creative and effective environment to use with any programming language.
Why it is free?
As Microsoft mentioned on its web page, Visual Studio Code is free for private or commercial use. See the product license for details. Thus, the circle of potential users expands and the market of related products with which this editor can work is conquered.
Supported programming languages
It is probably easier to list the programming languages that Visual Studio Code supports in this way all together. Thanks to the extensions of the editor, you can install support for any programming language in this system. For example, you can look at this impressive list of programming languages:
- Javascript
- Json
- HTML
- CSS, SCSS, and Less
- TypeScript
- Markdown
- PowerShell
- C ++
- Java
- Php
- Python
- Go
- T-SQL
- C #
- .NET Core
This list is not complete since for almost any technology stack you will find a convenient plug-in for development in Visual Studio Code.
Supported operational systems
As experience shows, in modern conditions, it is enough to support three desktop systems for development - Windows, Mac OS, and Linux. It is not supported on Android or iOS yet, but we will see in the future probably a move to these platforms as well.
Syntax highlighting and autocomplete
Syntax highlighting is one of the most important features of the source editor. Moreover, for each programming language, individual highlighting of keywords and other language constructs should be available. Visual Studio Code successfully copes with this task. Also, a very important feature of Visual Studio Code is IntelliSense. As mentioned on the official web site: “IntelliSense is a general term for a variety of code editing features including code completion, parameter info, quick info, and member lists. IntelliSense features are sometimes called by other names such as "code completion", "content assist", and "code hinting. Visual Studio Code IntelliSense is provided for JavaScript, TypeScript, JSON, HTML, CSS, SCSS, and Less out of the box. VS Code supports word-based completions for any programming language but can also be configured to have richer IntelliSense by installing a language extension."
Working with Git and other Source Code Management
When you install Visual Studio Code it comes with support for git. If you type the command @category: "scm providers" in the search bar for extensions, you can look at how wide the list of supported source code management systems is. It is a great option to create your development process on Visual Studio Code so you can s customize almost any requirements for source code management.
Extensions to add new languages, themes, debuggers
The most valuable thing in Visual Studio Code is the presence of a large number of extensions that can be downloaded from their marketplace. Here you can find everything you need for effective work, including debuggers, support for programming languages, support for cloud systems, work with HTML/CSS/json, and so on. Each developer or development team has a favorite list of extensions that they use when working on a project. A very important feature in the Visual Studio Code is the installation of your themes. This is an important point for developers who are used to working on a light or dark background of the text in the editor. This item expands the potential pool of users and makes working with the code more comfortable. Image source
Refactoring
One of the important software development processes is refactoring. A regular text editor will not cope with this task in the classical understanding of the problem. Visual Studio Code has this tool in its arsenal. In addition, it is possible to adapt to a specific programming language, which makes this tool very important and popular among a wide range of developers. If you need to use another refactoring method, you can install the appropriate extension. Image source
Connection with Azure Cloud and Deployment procedures
Visual Studio Code also provides very good support for the cloud system on Azure. These tools allow you to effectively work with projects that go into the cloud service. The number of options for working with the cloud and various cloud services is impressive. The deployment process is also very good, integrated to Visual Studio code by corresponding plugins. You can deploy your project to a server or cloud from one place and automate this process accordingly. For instance, you can have more information here about the deployment of Java projects. Image source
Conclusion
In Svitla Systems' opinion, a modern approach to solving the problem of creating program code in the Visual Studio Code allows you to quickly and efficiently develop projects, and this software product is widely used around the world. It is also worth noting the importance of having additional development tools in the Extension Marketplace. Especially important is the fact that Visual Studio Code runs on Windows, Linux, Mac OS, so you can work in different environments with virtually no changes. A huge advantage of this product is its free license. Developers immediately recognized these advantages and expanded it in the Extension Marketplace. For example, even for an area such as Docker containerization or, say, for FPGA development. A fairly wide range of extensions, isn’t it? And the support of almost all programming languages makes Visual Studio Code indispensable where the use of a full-fledged IDE would be a long process of configuration or demand computer resources that do not allow you to quickly launch heavier applications. Many developers and enthusiasts are grateful for the opportunity to work with such an excellent product.