Visual Studio Code

**Visual Studio Code** (eli **VS Code**) on avoimen lähdekoodin monialustainen, ohjelmoijille tarkoitettu tekstieditori. Se on saatavilla Linuxille, MacOS:lle ja Windowsille. Ohjelmassa on tuki debuggaukselle, Git-versionhallinnalle, syntaksin korostukselle, automaattiselle koodin täydennykselle (), katkelmille (*snippets*) ja refaktoroinille. Visual Studio Code on laajalti mukautettavissa käyttäjän tarpeiden mukaan. Lisäksi siihen voi asentaa tai tehdä itse laajennuksia. Laajennukset voivat esimerkiksi olla teemoja tai tukea uutta ohjelmointikieltä.

Se on äänestetty kaikista suosituimmaksi kehitysalustaksi vuonna 2023 Stack Overflown kyselyssä kehittäjille (Developer Survey). Vastaajia oli yhteensä 86544, joista 73,71 % ilmoitti käyttävänsä Visual Studio Codea. Se on erityisen suosittu koodauksen opetteluun (78,39 %), kuin myös ammattikäyttöön (74,09 %), sekä muuhun koodaamiseen (70,8 %). 

Microsoft ilmoitti Visual Studio Coden julkaisusta ensimmäisen kerran 29.4.2015 vuoden 2015 Build konferenssissa. Pian ilmoituksen jälkeen julkaistiin esikatseluversio.  Ohjelman lähdekoodi julkaistiin 18.11.2015 avoimen MIT-lisenssin alla GitHubissa. Ohjelma julkaistiin 14.4.2016 kun se hyväksyttiin beta-testausvaiheesta. Suurin osa lähdekoodista on julkaistu avoimena, ja Microsoft on julkaissut Visual Studio Coden ilmaisohjelmana.

Visual Studio Code perustuu Electron-ohjelmistokehykseen, jota käytetään Node.js-ohjelmien suoritusympäristönä työpöydällä.

## Tuetut ohjelmointikielet
Ilman laajennuksia Visual Studio Code tukee seuraavia ohjelmointi-, merkintä- ja määrityskieliä:

* ABAP
* .BAT
* Bash
* BibTeX
* C
* C++
* C#
* Clojure
* CoffeeScript
* CSS
* Diff
* Dockerfile
* F#
* Git
* Go
* Groovy
* Handlebars
* HTML
* INI
* Java
* JavaScript (myös React)
* JSON (myös kommentit)
* LaTeX
* Less
* Lua
* Makefile
* Markdown
* Objective-C
* Objective-C++
* Perl
* PHP
* PowerShell
* Pug
* Python
* R
* Razor (ASP.NET)
* Ruby
* Rust
* SCSS
* ShaderLab
* SQL
* Swift
* TypeScript (myös React)
* TeX
* Visual Basic
* XML
* XSL
* YAML

## Toiminnot
Visual Studio Code on lähdekoodieditori jota voidaan käyttää yllä mainituiden ohjelmointikielien kanssa. Se perustuu Electron-kehykseen jota käytetään kehittämään Node.js-verkkosovelluksia jotka toimivat Blink-selainmoottorilla. Visual Studio Code käyttää samaa editorikomponenttia Azure DevOpsin kanssa.

Visual Studio Code sisältää perustuen yleisimmille ohjelmointikielille. Tämä sisällyttää esim. syntaksien korostamisen, sulkeiden vastaavuuden, ja koodin laskostuksen. 

Projektijärjestelmän sijaan Visual Studio Code sallii käyttäjän avata yhden tai useamman hakemiston jotka voidaan tallentaa työtilaan myöhempää käyttöä varten. Tämän ansioista se toimii kieliagnostisena koodieditorina mille tahansa kielelle. Se tukee lukuisia ohjelmointikieliä ja niiden ominaisuuksia, jotka vaihtelevat kielten mukaan. Kaikki tiedostot ja kansiot joita ei haluta voidaan sulkea pois projektipuusta asetuksista. Lukuisia Visual Studio Coden ominaisuuksia ei löydä valikkojen tai käyttöliittymän kautta vaan niitä täytyy käyttää komentopaletin kautta. 

Visual Studio Codea voidaan laajentaa eri laajennuksilla. Nämä voivat olla esimerkiksi lisäyksiä editoriin tai kielitukea. Yksi huomattava ominaisuus on luoda laajennuksia jotka lisäävät tukea uusille kielille, debuggereille ja suorittaa staattista koodianalyysiä Language Server Protocol-protokollan avulla.

Visual Studio Code sisältää useita FTP-laajennuksia, joiden avulla ohjelmistoa voi käyttää ilmaisena verkkokehitysvaihtoehtona. Tällöin koodin voi synkronoida editorin ja palvelimen välillä ilman ylimääräisiä ohjelmistoja.

## Laajennokset
Visual Studio Codeen saa asennettua monia laajennoksia , joilla saa haluamansa ohjelmointikielen ja ominaisuuksien tuen. Erityisen hyödyllisiä ovat testaukseen liittyvät lisäosat esim. selainohjelmien koodaukseen LiveServer ja erilaiset XUnit-perheen yksikkötestaustyökalut.

### Junit yksikkötestit Java-projektissa
Lisäosa Test Runner for Java mahdollistaa JUnit testien ajamisen VSCodessa. Oletuksena uuteen Java-projektiin muodostuu AppTest.java kansioon demo\src\test\java\com. Jos käytössä on Maven, niin testi ajetaan vasemman alalaidan valikosta MAVEN, Lifecycle, test, (play-nappi).Terminaaliin tulee tiedot testien ajosta. Vihreällä tekstillä indikoidaan ajetut, kaatuneet, virheelliset ja ohitetut testit. Lisää tietoa yksikkötestien tekemisestä.

## Käyttäjädata
Ohjelma kerää taustalla käyttödataa. Visual Studio Coden kotisivujen mukaan tietoja käytetään ohjelman kehittämiseen ja bugien korjaamiseen, mm. jos ohjelma käynnistyy hitaasti, ja mitä uusia ominaisuuksia täytyisi suosia kehityksessä. Kolmen tyylisiä raportteja lähetetään taustalla: kaatumisilmoituksia, virheilmoituksia, ja tilastotietoa käytetyistä ominaisuuksista. Ominaisuuden saa asetettua pois päältä. 

## Katso myös
* Microsoft Visual Studio

## Lähteet