Visual Studio Code

Visual Studio Code（VS Code）はMicrosoftが開発しているWindows、Linux、macOS、web用のソースコードエディタである。Electronをベースにしており、デバッグ、埋め込みGitコントロールとGitHub連携、シンタックスハイライト、インテリジェントなコード補完 、スニペット、コードリファクタリングのサポートが含まれる。カスタマイズ性が高く、テーマやキーボードショートカット、環境設定を変更できたり、機能を追加する拡張機能をインストールすることができる。ソースコードはフリーかつオープンソースで、寛容なMITライセンスの下でリリースされている。コンパイルされたバイナリはプロプライエタリソフトウェアである。
Stack Overflow 2019 Developer Surveyでは、Visual Studio Codeが最も人気のある開発者環境ツールとしてランクインし、87,317人の回答者のうち50.7%が使用していると回答した。
歴史.
Visual Studio Codeは、マイクロソフトの開発者会議Build 2015（2015年4月29日）にて公開され、プレビュー版がリリースされた。
2015年11月18日、Visual Studio Codeはリリースされ、その一部ソースコードがGitHubにMIT Licenseのもとで公開された。その際、拡張機能のサポートも追加された。
機能.
Visual Studio Codeのソースコードエディタの機能は、以下の一覧に示されるように、プログラミング言語ごとにサポートの有無が異なっている。プラグインによって他の言語もサポートできる。
Visual Studio Codeの機能の多くはメニューやユーザーインタフェースを通して公開されていない。代わりに、コマンドパレット（例: スニペットの挿入）あるいは.json設定ファイル（例: ショートカットキーの設定）を経由してアクセスする。コマンドパレットはキャラクタユーザインタフェースの一種である。
ディレクトリを開くことで、そのディレクトリに含まれる複数のファイルがツリー状に表示される。開いたファイルはタブにも表示され、タブを切り替えながら複数のファイルを並行して編集できる。ただしWeb版の場合、Google ChromeやMicrosoft Edgeなど一部のChromium系ブラウザでしかディレクトリを開くことはできない。これは、Visual Studio CodeがFile System Access APIというAPIを使用してディレクトリを操作するためである
また、テキストエディタの基本的な機能として、文書の保存時にコードページを変更したり、改行コードを統一することもできる。対応する括弧の表示、複数カーソル、矩形選択、ブロック単位の選択拡張と折り畳み、Gitリポジトリと比較しての変更行の表示などの機能を持つ。
その他に、ウィンドウ内で統合された端末を開くことや、ウェブ上に公開された機能拡張をダウンロードしインストールすることもできる。
リモート開発.
Microsoftが提供する拡張機能パック「Remote Development」（2020-02-26現在Preview版）を導入することで、リモート環境での開発が可能になる。対応するリモート環境は以下の3つである。
コンテナ.
拡張機能「Visual Studio Code Remote - Containers」を利用することでDockerコンテナ内での開発（"developing inside a container"）が可能になる。
Docker Desktop 2.0+ あるいはDocker CE/EE 18.06+がインストールされたホストマシンからコンテナ内の開発環境を操作できる。ホストマシンにプログラミング言語実行環境をインストールしなくてもコンテナ内でコーディング支援・デバッグ等が利用可能になる。
コンテナを利用する場合、いくつかの方法が存在する。そのうちの1つはGitレポジトリから直接コンテナを生成する方法である。開発環境コンテナとしての設定がdevcontainer.jsonに述されたGitレポジトリは、VS Code上で明示的なClone無しにコンテナ化が可能である。この「Repositoryコンテナ」生成時にはGitレポジトリがDockerのVolumesへ保存される（bind mountsではない。参考: Docker--永続化）。
この機能はコンテナ内に "VS Code Server" を建てることで実現されている。ローカルでVS Codeを実行するのと同様にコンテナ内でVS Code（Server）が立ち上がっており（/root/.vscode-server）、クライアント（ローカル）側でおこなったVS Code UI操作をコンテナへ送信することで透過的にコンテナ内開発を行うことができる。
評価.
2016年のStack Overflowによる調査では、Visual Studio Codeは、13番目に人気のある開発ツールで、46613人のうち、7.2%がこれを使っていた。しかしながら、2019年の調査では、Visual Studio Codeは1位に位置し、87317人の回答者のうち、50.7%がこれを使っていた。
2021年の調査でも、82,277人の回答者の71.06%が利用していると答え、1位であった。
Visual Studio Codeは、Java、JavaScript、Go、Node.js、C++など様々な領域でフレキシブルに利用可能である。
マイクロソフトによるデータの収集.
Visual Studio Codeは、"Code - OSS"レポジトリの配布物にマイクロソフト独自のカスタマイズを施し、伝統的なマイクロソフトの製品ライセンスの下でリリースされている。Visual Studio Codeは、使用状況に関するデータを集め、これをマイクロソフトに送っている。しかしながら、このテレメタリー・レポーティングは無効にすることができる。
"VSCodium"は、もうひとつのこのソフトウェアのバイナリディストリビューションであり、これはオープンソースの部分のみを使い、マイクロソフトの商標やテレメタリーコンポーネントはオミットされている。しかし、他の面においては完全に機能し、互換性がある。