Visual Studio Code

Last updated
Visual Studio Code
Visual Studio Code 1.35 icon.svg
VS Code (Insiders).png
Visual Studio Code running on Windows 10
Developer(s) Microsoft
Initial releaseApril 29, 2015;6 years ago (2015-04-29)
Stable release 1.58.2 [1]   OOjs UI icon edit-ltr-progressive.svg (15 July 2021;13 days ago (15 July 2021)) [±]
Preview release 1.55.0-insider [±] [2]
Repository OOjs UI icon edit-ltr-progressive.svg
Written in TypeScript, JavaScript, HTML, and CSS [3]
Operating system Windows 7 or later, OS X 10.10 or later, Linux
Platform IA-32, x86-64, ARM64
Size
  • Windows: 40.8–68.3 MB
  • Linux: 46.5–66.6 MB
  • macOS: 67.5 MB
Available in14 languages
List of languages
English (US), Simplified Chinese, Traditional Chinese, French, German, Italian, Portuguese (Brazil), Japanese, Korean, Russian, Spanish, Bulgarian, Hungarian, Turkish [4]
Type Source code editor, debugger
License
Website code.visualstudio.com OOjs UI icon edit-ltr-progressive.svg

Visual Studio Code is a source-code editor made by Microsoft for Windows, Linux and macOS. [9] Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git. Users can change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality.

Contents

Microsoft has released most of Visual Studio Code's source code on the microsoft/vscode repository of GitHub using the "Code – OSS" name, under the permissive MIT License, [5] [10] while the releases by Microsoft are proprietary freeware. [7]

In the Stack Overflow 2019 Developer Survey, Visual Studio Code was ranked the most popular developer environment tool, with 50.7% of 87,317 respondents reporting that they use it. [11]

Visual Studio Code was first announced on April 29, 2015, by Microsoft at the 2015 Build conference. A Preview build was released shortly thereafter. [12]

On November 18, 2015, Visual Studio Code was released under the MIT License, having its source code available on GitHub. Extension support was also announced. [13] On April 14, 2016, Visual Studio Code graduated from the public preview stage and was released to the Web. [14]

Features

Visual Studio Code Insiders logo Visual Studio Code Insiders 1.36 icon.svg
Visual Studio Code Insiders logo

Visual Studio Code is a source-code editor that can be used with a variety of programming languages, including Java, JavaScript, Go, Node.js, Python and C++. [15] [16] [17] [18] It is based on the Electron framework, [19] which is used to develop Node.js Web applications that run on the Blink layout engine. Visual Studio Code employs the same editor component (codenamed "Monaco") used in Azure DevOps (formerly called Visual Studio Online and Visual Studio Team Services). [20]

Instead of a project system, it allows users to open one or more directories, which can then be saved in workspaces for future reuse. This allows it to operate as a language-agnostic code editor for any language. It supports a number of programming languages and a set of features that differs per language. Unwanted files and folders can be excluded from the project tree via the settings. Many Visual Studio Code features are not exposed through menus or the user interface but can be accessed via the command palette. [21]

Visual Studio Code can be extended via extensions, [22] available through a central repository. This includes additions to the editor [23] and language support. [21] A notable feature is the ability to create extensions that add support for new languages, themes, and debuggers, perform static code analysis, and add code linters using the Language Server Protocol. [24]

Visual Studio Code includes multiple extensions for FTP, allowing the software to be used as a free alternative for web development. Code can be synced between the editor and the server, without downloading any extra software.

Visual Studio Code allows users to set the code page in which the active document is saved, the newline character, and the programming language of the active document. This allows it to be used on any platform, in any locale, and for any given programming language.

Language support

Out-of-the-box, Visual Studio Code includes basic support for most common programming languages. This basic support includes syntax highlighting, bracket matching, code folding, and configurable snippets. Visual Studio Code also ships with IntelliSense for JavaScript, TypeScript, JSON, CSS, and HTML, as well as debugging support for Node.js. Support for additional languages can be provided by freely available extensions on the VS Code Marketplace. [25]

Data collection

Visual Studio Code collects usage data and sends it to Microsoft, although this can be disabled. [26] In addition, because of the open-source nature of the application, the telemetry code is accessible to the public, who can see exactly what is collected. [27] According to Microsoft, the data is shared with Microsoft-controlled affiliates and subsidiaries, although law enforcement may request it as part of a legal process. [28]

Version control

Source control is a built-in feature of Visual Studio Code. It has a dedicated tab inside of the menu bar where you can access version control settings and view changes made to the current project. To use the feature you must link Visual Studio Code to any supported version control system (Git, Apache Subversion, Perforce, etc.). This allows you to create repositories as well as make push and pull requests directly from the Visual Studio Code program.

Reception

In the 2016 Developers Survey of Stack Overflow, Visual Studio Code ranked #13 among the top popular development tools, with only 7.2% of the 46,613 respondents using it. [29] Two years later, however, Visual Studio Code achieved the #1 spot, with 34.9% of the 75,398 respondents using it. [30] In the latest survey, the 2019 Developers Survey, Visual Studio Code is still ranked #1, with 50.7% of the 87,317 respondents using it. [11]

See also

Related Research Articles

Plug-in (computing) Software component that adds a specific feature to an existing software application

In computing, a plug-in is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization.

Vim (text editor) Improved version of the Vi keyboard-oriented text editor

Vim is a clone, with additions, of Bill Joy's vi text editor program for Unix. Vim's author, Bram Moolenaar, based it on the source code for a port of the Stevie editor to the Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface. Vim is free and open-source software and is released under the Vim license that includes some charityware clauses, encouraging users who enjoy the software to consider donating to children in Uganda. The Vim license is compatible with the GNU General Public License through a special clause allowing distribution of modified copies under the GNU GPL-2.0-or-later license.

Microsoft Visual Studio Express

Microsoft Visual Studio Express is a set of integrated development environments (IDEs) developed by Microsoft as a freeware and registerware function-limited version of the non-free Microsoft Visual Studio. Express editions started with Visual Studio 2005.

Notepad++ Text editor and source code editor for Windows

Notepad++ is a text and source code editor for use with Microsoft Windows. It supports tabbed editing, which allows working with multiple open files in a single window. The project's name comes from the C increment operator.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

Git Free and open-source software (FOSS) for version control

Git is software for tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows.

Markdown Plain text markup language

Markdown is a lightweight markup language for creating formatted text using a plain-text editor. John Gruber and Aaron Swartz created Markdown in 2004 as a markup language that is appealing to human readers in its source code form. Markdown is widely used in blogging, instant messaging, online forums, collaborative software, documentation pages, and readme files.

The following tables list notable software packages that are nominal IDEs; standalone tools such as source code editors and GUI builders are not included. These IDEs are listed in alphabetical order of the supported language.

TypeScript is a programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. TypeScript is designed for the development of large applications and transcompiles to JavaScript. As TypeScript is a superset of JavaScript, existing JavaScript programs are also valid TypeScript programs.

Microsoft Visual Studio Code editor and IDE

Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed code.

Cosmos (operating system) Toolkit for building operating systems

C# Open Source Managed Operating System (Cosmos) is a toolkit for building operating systems, written mostly in the programming language C# and small amounts of a high level assembly language named X#. Cosmos is a backronym, in that the acronym was chosen before the meaning. It is open-source software released under a BSD license.

Text Template Transformation Toolkit is a free and open-source template-based text generation framework. T4 source files are usually denoted by the file extension ".tt".

.NET Framework Software platform developed by Microsoft

The .NET Framework is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

Node.js JavaScript runtime environment

Node.js is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.

NuGet is a package manager designed to enable developers to share reusable code. It is a software-plus-service solution whose client app is free and open-source. The Outercurve Foundation initially created it under the name NuPack. Since its introduction in 2010, NuGet has evolved into a larger ecosystem of tools and services.

.NET Compiler Platform, also known by its nickname Roslyn, is a set of open-source compilers and code analysis APIs for C# and Visual Basic (VB.NET) languages from Microsoft.

Mono (software) Computer software project

Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.

Windows Package Manager Official open-source package manager for Windows 10/11

The Windows Package Manager is a free and open-source package manager designed by Microsoft for Windows 10 and Windows 11. It consists of a command-line utility and a set of services for installing applications. ISVs can use it as a distribution channel for their software packages.

Atom (text editor) Free and open-source text and source code editor

Atom is a free and open-source text and source code editor for macOS, Linux, and Microsoft Windows with support for plug-ins written in JavaScript, and embedded Git Control, developed by GitHub. Atom is a desktop application built using web technologies. Most of the extending packages have free software licenses and are community-built and maintained. Atom is based on Electron, a framework that enables cross-platform desktop applications using Chromium and Node.js. Atom is written in CoffeeScript and Less, but much of it has been converted to JavaScript.

Microsoft, a technology company known for its opposition to the open source software paradigm, turned to embrace the approach in the 2010s. From the 1970s through 2000s under CEOs Bill Gates and Steve Ballmer, Microsoft viewed the community creation and sharing of communal code, later to be known as free and open source software, as a threat to its business, and both executives spoke negatively against it. In the 2010s, as the industry turned towards cloud, embedded, and mobile computing—technologies powered by open source advances—CEO Satya Nadella led Microsoft towards open source adoption although Microsoft's traditional Windows business continued to grow throughout this period generating revenues of 26.8 billion in the third quarter of 2018, while Microsoft's Azure cloud revenues nearly doubled.

References

  1. "June 2021 Recovery 2". 15 July 2021. Retrieved 16 July 2021.
  2. Anderson, Wade. "Evolution of Visual Studio Code Insiders". code.visualstudio.com. Microsoft. Retrieved 24 September 2020.
  3. GitHub repository microsoft/vscode, Microsoft, 2020-12-20, retrieved 2020-12-20
  4. "Visual Studio Code Display Language (Locale)". code.visualstudio.com. Microsoft. Retrieved 2021-03-19.
  5. 1 2 "LICENSE.txt". github.com/Microsoft/vscode. Microsoft. 17 November 2015.
  6. "Download Visual Studio Code". code.visualstudio.com. Microsoft. Retrieved 16 August 2016.
  7. 1 2 "Microsoft Software License Terms". code.visualstudio.com. Microsoft . Retrieved 16 August 2016.
  8. "The best parts of Visual Studio Code are proprietary".
  9. Lardinois, Frederic (April 29, 2015). "Microsoft Launches Visual Studio Code, A Free Cross-Platform Code Editor For OS X, Linux And Windows". TechCrunch .
  10. Dias, Chris (4 December 2015). "Issue: Menu license links to non Open Source license". Microsoft/vscode repo. Microsoft. Response #161792005 via GitHub.com. We wanted to deliver a Microsoft branded product, built on top of an open source code base that the community could explore and contribute to.
  11. 1 2 "Developer Survey Results 2019 – Most Popular Development Environments". StackOverflow Insights. Stack Exchange. Retrieved 10 April 2019.
  12. Montgomery, John (April 29, 2015). "BUILD 2015 News: Visual Studio Code, Visual Studio 2015 RC, Team Foundation Server 2015 RC, Visual Studio 2013 Update 5".
  13. "Visual Studio now supports debugging Linux apps; Code editor now open source". Ars Technica. Retrieved 18 November 2015.
  14. "Visual Studio Code editor hits version 1, has half a million users". Ars Technica . Condé Nast. 15 April 2016.
  15. Kanjilal, Joydip (2015-05-06). "Visual Studio Code: A fast, lightweight, cross-platform code editor". InfoWorld.
  16. Bisson, Simon (2018-09-11). "It's gotten a little easier to develop PWAs in Windows". InfoWorld.
  17. Krill, Paul (2018-02-24). "What's new in Microsoft Visual Studio Code". ChannelWorld. Archived from the original on 2019-01-25. Retrieved 2019-01-25.
  18. Wanyoike, Michael (2018-06-06). "Debugging JavaScript Projects with VS Code & Chrome Debugger". SitePoint.
  19. "Microsoft's new Code editor is built on Google's Chromium". Ars Technica . Retrieved 18 November 2015.
  20. "Monaco Editor". microsoft.github.io/monaco-editor.
  21. 1 2 "Language Support in Visual Studio Code". Visual Studio Code. October 10, 2016. Retrieved 2016-10-12.
  22. "Extending Visual Studio Code". Visual Studio Code. October 10, 2016. Retrieved 2016-10-12.
  23. "Managing Extensions in Visual Studio Code". Visual Studio Code. October 10, 2016. Retrieved 2016-10-12.
  24. "Creating Language Servers for Visual Studio Code" . Retrieved 2017-02-27.
  25. "Programming Languages, Hundreds of programming languages supported". Microsoft.
  26. "Visual Studio Code FAQ". code.visualstudio.com. Microsoft. Archived from the original on 28 August 2016. Retrieved 4 November 2016. VS Code collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. If you don’t wish to send usage data to Microsoft, you can set the telemetry.enableTelemetry setting to false.
  27. "vscode/src/vs/platform/telemetry at main branch". microsoft/vscode repo. Microsoft . Retrieved 24 March 2020 via GitHub.
  28. "Microsoft Enterprise and Developer Privacy Statement". privacy.microsoft.com. Microsoft. Archived from the original on 5 November 2016. Retrieved 4 November 2016.
  29. "Developer Survey Results 2016". Stack Overflow Insights. Stack Exchange . Retrieved 7 April 2018.
  30. "Developer Survey Results 2018". StackOverflow Insights. Stack Exchange. Retrieved 7 April 2018.