# Visual Studio Code

O Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft para Windows, Linux e macOS. Ele inclui suporte para depuração, controle de versionamento Git incorporado, realce de sintaxe, complementação inteligente de código, snippets e refatoração de código. Ele é customizável, permitindo que os usuários possam mudar o tema do editor, teclas de atalho e preferências. Ele é um software livre e de código aberto, apesar do download oficial estar sob uma licença proprietária.
O Visual Studio Code é baseado no Electron, um framework que é usado para desenvolver aplicativos Node.js para o desktop rodando no motor de layout Blink. Apesar de usar o Electron como framework, o software não usa o Atom e em seu lugar emprega o mesmo componente editor (apelidado "Monaco") usado no Visual Studio Team Services (anteriormente chamado de Visual Studio Online).

## História

O Visual Studio Code foi anunciado, com uma versão prévia lançada, em 29 de abril de 2015 pela Microsoft na conferência Build de 2015.
Em 18 de novembro de 2015, o Visual Studio Code foi lançado sob a licença MIT e o seu código-fonte foi postado no GitHub. O suporte para extensões também foi anunciado.
Em 14 de abril de 2016, o Visual Studio Code concluiu o estágio de previsão pública e foi lançado para a web.

## Recursos

O Visual Studio Code suporta um número de linguagens de programação e um conjunto de recursos que podem ou não estar disponíveis para a dada linguagem, como mostrado na tabela a seguir. Muitos dos recursos do Visual Studio Code features não são expostos através de menus ou da interface de usuário. Ao invés disso, elas estão acessíveis através da paleta de comandos ou por meio de um arquivo JSON (como as preferências do usuário). A paleta de comandos é uma interface de linha de comandos. No entanto, ele desaparece se o usuário clicar em qualquer lugar fora dele ou pressiona uma combinação de teclas no teclado para interagir com algo fora dela. Isso também é válido para comandos de time-taking. Quando isso acontece, o comando em andamento é cancelado.
No papel de um editor de código fonte, o Visual Studio Code permite alterar a página de código na qual o documento atual é salvo, o caractere que identifica quebra de linha (uma escolha entre CR e CRLF), e a linguagem de programação do documento ativo.
Recursos dependentes de linguagem :
| Recursos | Linguagens |
| Realce de sintaxe | Batch, C++, Clojure, CoffeeScript, DockerFile, Elixir, F#, Go, Pug template language, Java, HandleBars, INI, Lua, Makefile, Objective-C, Perl, PowerShell, Python, R, Razor, Ruby, Rust, SQL, Visual Basic, XML |
| Snippets | Groovy, Markdown, Nim, PHP, Swift |
| Complementação inteligente de código | CSS, HTML, JavaScript, JSON, Less, Sass, TypeScript |
| Refatoração | C#, TypeScript |
| Depuração | JavaScript e TypeScript para projetos Node.js C# e F# para projetos Mono no Linux e no macOS C e C++ no Windows, no Linux e no macOS Python |
O Visual Studio Code pode ser estendido através de plugins, disponíveis através de um repositório central. Isso inclui adições ao editor e suporte para linguagens de programação. Uma característica notável é a capacidade de criar extensões que analisam código, como linters e ferramentas para análise estática, usando o Language Server Protocol.

## Coleta de dados

O Visual Studio Code coleta dados de uso e os envia para a Microsoft, apesar deste recurso poder ser desabilitado pelo usuário. Os dados são compartilhados entre afiliadas e subsidiárias controladas pela Microsoft e com a aplicação da lei por declaração de privacidade.