Sie sind hier: Wissen
Begriff Visual Studio Code
Abkürzung VSCode
Eintrag zuletzt aktualisiert am 20.11.2019

 Zur Stichwortliste unseres Lexikons

Was ist Visual Studio Code ?

Microsoft hat im Rahmen der Konferenz "BUILD 2015" in San Francisco eine neue Variante seiner Entwicklungsumgebung Visual Studio vorgestellt, die nicht nur auf Windows, sondern auch Mac OSX und Linux läuft. Microsoft nennt das neue, kostenfreie Werkzeug "Visual Studio Code".

Mit dem Zusatz "Code" grenzt Microsoft das Produkt von den bisherigen Visual Studio-Versionen für Windows ab. "Visual Studio Code" beschränkt sich auf die Kernthemen Editor, Debugger und Quellcodeverwaltung. Designer und über die Quellcodeverwaltung hinausgehende ALM-Werkzeuge sind nicht enthalten.

Der Editor bietet die aus Visual Studio bekannte Intellisense-Eingabeunterstützung für Bezeichner und Sprachkonstrukte. Zu den unterstützen Programmier- und Markupsprachen zählen C#, C++, CSS (inkl. Less und Sass), F#, CoffeeScript, HTML, Java, JavaScript, Lua, PHP, Perl, Objective-C, Python, Ruby, TypeScript und XML. Bei der Quellcodeverwaltung wird bisher nur Git angeboten.

Microsoft geht damit den nächsten Schritt in der neuen Cross-Plattform-Strategie für Entwickler. Im Mai 2014 hatte Microsoft erklärt, dass die Webentwicklungsplattform ASP.NET 5 [http://www.heise.de/developer/meldung/ASP-NET-5-wird-modularer-2558407.html] für Linux und MAC OSX verfügbar sein wird. Im November 2015 folgte diese Ankündigung auch für das .NET Core Framework [http://www.heise.de/developer/meldung/Microsoft-NET-wird-zur-Cross-Entwicklungsplattform-2454712.html].

Geschichte

Mai 2015: erste Ankündigung
Mai 2015 - Nov 2015: Preview-Phase (0.1 bis 0.9)
18.11.2015: Visual Studio Code Beta 1 (Version 0.10) und Visual Studio Code wird Open Source
1.3.2016: Version 1.0
Weitere Versionen: siehe: https://github.com/microsoft/vscode/releases

Hintergründe

Bis auf den Namen hat Visual Studio Code wenig mit der bisherigen Entwicklungsumgebung "Visual Studio" gemein. Diese ist in C++ und C# geschrieben.

Visual Studio Code ist hingegen eine auf plattformneutralen Webtechniken basierende Anwendung: die Oberfläche ist HTML mit JavaScript, wobei die JavaScript-Abstraktion TypeScript zum Einsatz kam, ob die Entwicklung besser handhabbar zu machen. Gehostet werden HTML und JavaScript in Chromium (https://www.chromium.org/), der Open Source-Variante von Googles Webbrowser Chrome. Daher startet Visual Studio Code wie eine normale Anwendung (.exe unter Windows). Mit dem Internet Explorer Web Browser Control hätte man Gleiches auch erreichen können, aber eben nur unter Windows. Die HTML- und JavaScript-Dateien von Visual Studio Code findet man unter C:\Users\(NAME)\AppData\Local\Code\app-0.1.0.

Microsoft verwendet Chromium nicht direkt, sondern nutzt das quelloffene Electron-Framework (https://github.com/atom/electron), das aus dem Editor Atom (https://github.com/atom/atom) entstanden ist. Damit kommt auch io.js (https://iojs.org/en/index.html) zum Einsatz, eine Abspaltung von node.js. In dem Installationsverzeichnis von Visual Studio Code findet man Dateien, die "Atom" im Namen tragen. Dies bedeutet aber nicht, dass hier der Quellcode von Atom verwendet wurde, sondern einige Dateien aus dem Electron-Framework tragen diesen Namen noch, weil das Framework früher "Atom Shell" hieß.

Die Ursprünge von Visual Studio Code findet man in den Internet Explorer Developer Tools ("F12 Tools") und dem Online-Editor Monaco in Visual Studio Online (http://www.heise.de/developer/meldung/Visual-Studio-Online-Microsofts-Entwicklungsumgebung-landet-in-der-Cloud-2045403.html). Damit ist auch klar, wer die Federführung bei Visual Studio Code hatte: kein geringerer als Gang-of-Four-Mitglied Erich Gamma, der nach seiner Arbeit an Eclipse zu Microsoft wechselte und dort Monaco entwickelte.

Ein weiterer Baustein von Visual Studio Code ist der OmniSharp Language Service (http://www.omnisharp.net), der die IntelliSense-Eingabeunterstützung bereitstellt. OmniSharp wiederum verwendet die Roslyn-Compiler (http://www.heise.de/developer/meldung/Sprachcompiler-fuer-C-und-Visual-Basic-sind-jetzt-Open-Source-2162794.html) für C# und TypeScript. Visual Studio Code unterstützt IntelliSense aber noch nicht für alle Programmiersprachen (https://code.visualstudio.com/Docs/languages).

Inzwischen werden viele weitere Sprachen und Funktionen durch einige Tausend Erweiterungen unterstützt.

Erfolg von VSCode

Stack Overflow Developer Survey Results 2018: VS Code ist "Most Popular Development Environment"

20.11.2019: "Facebook says it is making Microsoft's popular coding environment, Visual Studio Code, its default development platform." [https://www.zdnet.com/article/facebook-microsofts-visual-studio-code-is-now-our-default-development-platform/]

Beratung & Support

Schulungen zu diesem Thema

 Visual Studio Code (VSCode)
 C#-Basiswissen (Grundlagen der Programmiersprache C#)
 Go/Golang - insbesondere zur Entwicklung von Microservices
 .NET-Werkzeuge im Überblick
 Windows PowerShell 5.1/PowerShell 7.0 für System- und Netzwerkadministratoren
 Kubernetes mit Azure Kubernetes Services (AKS)
 Entwickeln von Office-Web-Add-Ins mit JavaScript/TypeScript
 Plattformneutrale Hybrid-Anwendungen mit HTML5 und JavaScript (oder TypeScript) mit Electron (Hosted/Hybrid Web Apps)
 Flutter: Cross-Plattform-Entwicklung für iOS (iPhone, iPad), Android, Web, Desktop und Embedded Devices
 Microsoft Azure-Cloud-Dienste verwalten mit der Windows PowerShell
 Moderne Web-Anwendungen mit Blazor (Blazor United und/oder Blazor SSR und/oder Blazor WebAssembly und/oder Blazor Server und/oder Blazor Hybrid)
 React Native
 Uno Platform - Cross-Plattform-GUI-Anwendungen mit .NET und XAML
 Vue.js
 Avalonia - Cross-Plattform-GUI-Anwendungen mit .NET und XAML
 Moderne JavaSript-Programmierung mit MEAN: MongoDB, Express, Angular und Node.js
 Web-Benutzeroberflächentests (UI-Tests/Web-Tests) und Komponententests mit Playwright
 Umstieg auf .NET 8.0/9.0 - Entwicklerworkshop (Umstellung/Migration von klassischem .NET Framework zu .NET 6.0/8.0/9.0)
 TypeScript - die typsichere und klassenbasierte Erweiterung für JavaScript
 Infrastructure as Code – Professionelles Azure-Management mit ARM-Templates
 Rust
 Azure DevOps Services (ADO) in der Cloud im Überblick
 JavaScript/ECMAScript zur Browserprogrammierung - Basiswissen (Grundlagen für Einsteiger)
 .NET-Basiswissen
 ASP.NET Core 8.0/9.0: komplettes Wissen - mit MVC, Razor Pages, Blazor, WebAPIs und gRPC
 node.js - Entwicklung hoch-skalierbarer Webanwendungen und/oder WebAPIs/REST-Dienste mit JavaScript (oder TypeScript) auf dem Server
 C++ Basiswissen (Grundlagen der Programmiersprache C++)
 Überblick über die Werkzeuge für die moderne Anwendungsentwicklung mit JavaScript oder TypeScript
 CSS-Präprozessoren SCSS und SASS (Syntactically Awesome Stylesheets und Sassy Cascading Style Sheets)
 Docker für Softwarearchitekten, Softwareentwickler und DevOps
 Anfrage für eine individuelle Schulung zum Thema Visual Studio Code VSCode  Gesamter Schulungsthemenkatalog