**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 virheenkorjaukselle, Git-versionhallinnalle, syntaksin korostukselle, automaattiselle koodin täydennykselle (engl. *code completion*), 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 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 asettelumoottorilla. 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 taio 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
-------

1. ↑  Release 1.86.2, 15. helmikuuta 2024 (viitattu 17. helmikuuta 2024). Tieto on haettu Wikidatasta.
2. ↑  Display Language *Visual Studio Code*. Viitattu 8.10.2021. (englanniksi)
3. ↑  Other platforms *Visual Studio Code*. Viitattu 8.10.2021. (englanniksi)
4. ↑  microsoft/vscode (Kohta *Languages*) *GitHub*. Viitattu 24.6.2020. (englanniksi)
5. ↑  License *Visual Studio Code*. Viitattu 2.6.2020. (englanniksi)
6. ↑  Extensible and customizable *Visual Studio Code*. Viitattu 17.6.2016. (englanniksi)
7. ↑  2023 Developer Survey Stack Overflow. Viitattu 30.7.2023.
8. ↑  Announcing Visual Studio Code - Preview *Web Archive arkistoitu sivusto*.  Arkistoitu 9.10.2015. Viitattu 30.7.2023.
9. ↑  VSCode MIT License *github.com*. Viitattu 30.7.2023.
10. ↑  Bright, Peter: Microsoft’s new Code editor is built on Google’s Chromium *Ars Technica*.  30.4.2015. Viitattu 17.6.2016. (englanniksi)
11. ↑  Known language identifiers *Visual Studio Code*. Viitattu 2.6.2020. (englanniksi)
12. ↑  Extension API *code.visualstudio.com*. Viitattu 30.7.2023.
13. ↑  Additional components and tools *code.visualstudio.com*. Viitattu 30.7.2023.
14. ↑  Programming Languages *code.visualstudio.com*. Viitattu 30.7.2023.
15. ↑  Live Server *marketplace.visualstudio.com*. Viitattu 30.7.2023.
16. ↑  Test Runner for Java *marketplace.visualstudio.com*. Viitattu 30.7.2023.
17. ↑  Testing Java with Visual Studio Code *code.visualstudio.com*. Viitattu 30.7.2023.
18. ↑  Telemetry *code.visualstudio.com*. Viitattu 30.7.2023.
19. ↑  How to disable telemetry reporting *code.visualstudio.com*. Viitattu 30.7.2023.


|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * n
* k
* m
Microsoft |
| --- |
|  |
| Tuotteet | 

|  |  |
| --- | --- |
| Laitteisto | 
* Kinect
* HoloLens
* LifeCam
* Surface
	+ Hub
	+ Go
	+ Laptop
	+ Laptop Go
	+ Pro
	+ Studio
	+ Duo
	+ Neo
* Xbox

 |
|  |
| Ohjelmisto | 
* 365
* Clipchamp
* Dynamics
* Havok
* Office
* Power Platform
* Servers
* Start
* Tay
* Visual Studio
* Visual Studio Code
* Windows

 |
|  |
| Ohjelmointikielet | 
* BASIC
	+ VB.NET
	+ VBA
	+ VBScript
	+ Visual Basic
* C#
* C/AL
* F#
* MVPL
* Power Fx
* PowerShell
* Transact-SQL
* TypeScript
* Q#
* *Visual J#*
* *Visual J++*

 |
|  |
| Web-ominaisuudet | 
* Azure
* Bing
* Learn
	+ Channel 9
	+ Developer Network
	+ TechNet
* GitHub
* LinkedIn
	+ LinkedIn Learning
* MSN
* Outlook.com
* Store
* Translator

 |

 |
|  |
| Yritys | 

|  |  |
| --- | --- |
| Tapahtumat | 
* Build
* Ignite
* Inspire
* MIX
* PDC
* WinHEC

 |
|  |
| Osastot | 
* Microsoftin tekniset ryhmät
	+ Microsoft Mobile
	+ Skype-yksikkö
* Digital Crimes Unit
* Garage
* Press
* Research
* Myymälät
* .NET Foundation
* Outercurve Foundation
* Gaming
	+ Xbox Game Studios
	+ ZeniMax Media
	+ Activision Blizzard

 |

 |
|  |
| Henkilöt | 
* Bill Gates
* Paul Allen
* Satya Nadella (CEO)

 |
|  |
| Oikeustapaukset | 
* *Komissio vs. Microsoft*
* *Yhdysvallat vs. Microsodt*

 |

 |