この記事は2020年11月21日に実施されたVS Code Conference Japanで発表したはじめての VS Code and Codespacesの振り返りです。アーカイブ動画もアップされているのであわせてご覧ください。
MicrosoftでCommunity Advocacy Program Managerを担当しているNori Suzuki (@szkn27)です、VS Code Meetup をはじめいろんなコミュニティやイベントを立ち上げてきました、来年もいろいろやりたいけどそろそろ首が回らなくなってきたぞ。。
VS Code 誕生の歴史
まずはアイスブレイクとしてここから振り返ってみましょう。Visual Studio Code(以降、VS Codeに省略)は2015年のConnect();で、Erich Gammaの手によってオープンソース化されました。壇上でGitHubのリポジトリがPrivateからPublicに切り替えられるデモが話題になったので覚えている方もいるかもしれません。テクノロジー的にはMonacoと呼ばれるオンラインのエディターとGitHubがオープンソースで開発していたElectronというクロスプラットフォームのフレームワークを組み合わせて作られていました。
最も人気のある開発ツール & 最も貢献者が多いOSSプロジェクト
VS Codeを語る上でよく出てくる数字をピックアップしています。まずは、Stack OverflowによるDeveloper Survey 2019、VS Codeは競合を抑えて最も人気のある開発環境として実に半数以上の回答を得ています。
次にGitHubによるThe State of the Octoverseの調査結果より。先ほどは利用者視点ですがコントリビューターの数もGitHub上の多くのオープンソースプロジェクトの中で最も多く、良いエコシステムができているプロジェクトだと言えるでしょう。
VS Code is なに?
ということでここから本題です。VS Codeを一言で説明すると「マイクロソフトがオープンソースとして開発しているコードエディター」と言えます。公式サイトはこちら。
マイクロソフトってWindows/Officeの会社と思われがちですが、Visual Studioというブランドで長らく開発者向けのツール、サービスを展開してきました。そんなシリーズの中において、VS Codeはオープンソースとしてソースがすべて公開されフリーで利用できるだけでなく、ロードマップなどもすべて公開さた状態でオープンなコミュニティによって開発・運用されているのが特徴と言えます。また、よくあるエディターとIDEの違いでは、VS Codeはエディター側に属するとされていますがVS Codeができることは(後述する拡張機能などもあり)どんどん増えていて、IDEと遜色ないレベルで使用できるようになってきています。
Visual Studio
もし開発を進めていく上で、何を使ったらよいか迷っているようであればVisual Studioの公式サイトからアプリの種類やテクノロジーなどからやりたいことを選択するとオススメのツールをアドバイスしてくれる便利な機能があるのでぜひ試して見てください。VS Codeの他に、Visual Studio IDEとあまり知られてないですがVisual Studio for Macもあります。
そしてLinuxも含めてあらゆる環境で動作するのもVS Codeの大きな特徴の1つです。話題のM1 MacのARMベースにも対応すべく開発が進められています。
拡張機能と言語サポート
そして最大の特徴とも言えるのが便利な拡張機能と、言語サポートです。2万を超える拡張機能によってVS Codeは協力なエコシステムを形成しており、多くの開発言語・フレームワークにとって使いやすいものになっています。
Remote Development
さてここから少し話題が変わり、開発環境の変化とトレンドについて見ていくことにしたいと思います。近年の開発スタイルとして、ローカルの環境を汚すことなく開発環境をリモート側に用意するRemote Developmentと呼ばれる手法が登場しています。例えばFacebookの事例として、開発チームの環境をAtomからVS Codeに移行しマイクロソフトと一緒にリモート開発を推奨していくアナウンスがありました。
一概にリモート開発と言っても様々なパターンがあります、チュートリアルでは大きく以下の4つを紹介しています。VMにSSHで接続するパターン、WSLと呼ばれるLinuxのSubsystemや、Dockerコンテナを利用するパターン、そしてこのあと説明するSaaS環境であるCodespacesです。
- Remote via SSH
- Work in WSL
- Develop in Containers
- GitHub Codespaces
Visual Studio Codespaces Consolidation
Codespacesですが、1つ注意点として、これまでVisual Studio Codespacesとして提供されていましたが、今後はGitHub Codespacesへ統合されることが決まっています。以下のロードマップで順次移行していきますのでご注意ください。また現状はプレビュー版で、アクセスリクエストを受付中です(使えるようになるには時間がかかります)。
- 2020/9/4 アナウンス
- 2020/12/16 新規作成停止
- 2021/2/17 VS Codespacesサービス停止
Microsoft developer cloud
最後にこのVS Codeでマイクロソフトが目指している世界観として、VS CodeだけではなないですがVisual Studio Familyから開発者の皆さんが自分たちが好きなツールを選んでもらって、それをGitHubにホストします。デプロイ先としてはマイクロソフトだったらAzureというクラウドサービスがあります。このように開発環境からデプロイ先までがシームレスに繋がることでチーム開発をより加速させていくことを目指しているわけです。
いかがでしたか? VS Codeはもはやただのエディターではなく様々な開発シーンにとって必要不可欠なプラットフォームになっていることがお分かりいただけたのではないでしょうか。皆さんが使いやすいようにカスタマイズしたり、拡張機能を作ったり、本体にパッチをおくることだってできちゃいます。ぜひこのオープンなコミュニティ参加してみてください!
VS Codeアドベントカレンダー、続いては @74th さんです、よろしくお願いします!