『改訂新版Visual Studio Code実践ガイド』を上梓しました!

技術評論社から『Visual Studio Code実践ガイド』を出版してから、早4年が経ちました。

74th.hateblo.jp

この書籍を改訂し『改訂新版 Visual Studio Code実践ガイド』として出版します。2024年1月25日発売です。

この改訂までの間に、Visual Studio Code(以下VS Code)の基本は大きくは変わりませんでしたが、いくつもの変更点があります。

VS Codeが4年で進化したと思うポイント

VS Codeを初期から利用してきたユーザとして、大きく変わったと思ったのは以下の点です。

この4年でWebView機能が強化されました。今までは「テキストエディタ」の枠組みに収まるため、今までのIDEで行ってきたフロントデザインなどのUIを設定するのは難しく、IDEと棲み分けがされていたように思います。最近は、かなりの制約があるものの、WebViewで自在なUIを作れるようになりました。Drawioでの作図がVS Codeで完結できるようになったので、この拡張機能をよく使っています。その他にも、ArduinoのBoard Managerと言った、今までのIDEでは当たり前に組み込まれていた専用設定画面も自分で作れるようになっています。

編集関連で言えば、Jupyterがほぼ完璧に動く形で取り込まれた点もあります。前はPythonコードをJupyterに送り込む仕組みでしたが、直接JupyterNotebookを編集し、拡張機能の恩恵をうけたコーディングができるようになっています。

有償ではありますが、GitHub Copilotが入りました。GitHub Copilotは特別何もしなくても文脈を読んで、次に書きそうなコードを類推して推薦してくれます。さらに、Copilot Chatによって、エラーメッセージはとりあえずAIに聞いたり、AIに直してもらったりできるようになりました。GitHub Copilotは他のエディタにも機能は提供されていますが、新しい機能はまずVS Codeで提供されています。

GitHub Codespacesが入りました。マシンインスタンスクラウド上の環境をオンデマンドに使うことができ、手元のマシンは非力でもマシンスペックを必要とする開発が行えるようになりました。VS Codeのクライアントと拡張機能を動かすコアの分離、コンテナ開発機能、GitHubアカウントと繋がる設定同期機能などがあり、それらはGitHub Codespacesに集約していったように感じます。

多くの開発環境が、VS Codeに集約されてきました。今までカスタムでEclipseを作っていたものも、VS Code拡張機能にすることでVS Codeのエコシステムに乗ることができます。STM32、Renesasなどの、公式の拡張機能が提供されました。これは4年前から存在していましたが、VS Code上で組み込みソフトウェアを作れるPlatformIOは私の最も好きな拡張機能です。これを使って楽しく電子工作を行い、Web上で発信したりしていました。

speakerdeck.com

その他にも、Kubernetesマニフェストの記述や、Terraformの記述などのインフラ設定を作る時にも補完やリンターが効くため、VS Codeの開発環境はよく使われるようになりました。

GitHub関連の拡張機能は多くありますが、特にGitHub Pull Requestは、今まで限られた機能のWebベースのページでコードレビューをしていたところから、エディタのフル機能が使えるVS Code上でレビューが可能になったため、とても便利になりました。

これら以外にもかゆいところに手が届く機能が多くリリースされました。それでも、コードを記述し、リントでチェックし、デバッグ実行して、Gitでコミットすると言った基本の機能は大きくは変わっていません。

改訂ポイント

改訂新版では、新たに以下の記事を追加しました。

  • ブラウザから利用できるVS Code for Webの使い方と、その制約の解説
  • クラウドのCPUリソースが使える GitHub Codespaces の解説と使い方
  • リモートでのモブプログラミングを便利にする Live Shareの使い方
  • AIがサポートするGitHub Copilotの基本的な使い方
  • GitHub Pull Request拡張機能を使ったPull Requestのレビューフロー
  • 拡張機能Dockerを使って、コンテナ内でデバッグ実行する方法
  • VS Code上でのJupyterの活用方法
  • JSONYAMLといったKubernetesなどの構成管理マニフェストの活用方法
  • WebView拡張機能の作成方法

各基本機能のアップデートももちろんあります。UIのアップデートはなるべく取り込むようにし、新たなワークスペーストラストや、設定同期、設定プロファイルの使い方、検索前後のテキストを表示してくれる検索エディター機能なども漏らさず解説しました。公式にできたユニットテストについても解説しています。

改訂前の書籍で重要視していたのは「基本機能だけでなく、実際の開発環境での使い方に踏み込むこと」でした。このポリシーにより、Go、TypeScript、Pythonでの、環境構築、リンターの設定、ユニットテストデバッグまでの一連の流れを解説していました。改訂新版になり、それぞれで利用すべき設定や拡張機能はまた変わってるため、それぞれの記述を変更しています。Pythonでのリンターの設定は、有効無効を設定する方法が各リンターの拡張機能をインストールする方式に変わっていたり、Goのインターフェイスのスタブ作成のコマンドが変わっていたり、実際の開発者だからこそ必要とする情報を記述しています。

4年前には出たばかりであった開発コンテナ機能も、今はGitHub Codespacesなどで利用され定着してきました。開発コンテナの作り込みの方法も、Dev Container featuresと呼ばれる追加機能群を追加するようになりました。これから開発コンテナを作り込む方場合どのように考えれば良いかわかるように、Pythonアプリケーションの開発での実践方法として記述しています。

これらを盛り込んだ結果、改訂前の416ページから544ページに大増量しました。

どういう方にこの本を薦めるのか

基本的には初めてVS Codeを使っている方や、なんとなくVS Codeを使ってもっと深い使い方を知りたい方に向けて書いています。

しかし、内容は現在のVS Codeを広く扱っているため、改めて今のVS Codeをキャッチアップしたい方にも適切な本になっています。

分厚い本ですが、全部読もうとは思わずに、気になるところを「こんなものがあるんだ」と眺めてほしいと思っています。そのためにスクリーンショットを多用しています。タスクを作り込みたくなった、デバッグ設定を作り込みたくなった、Pythonの開発環境のスタンダードが知りたいという欲求が出てきたときに、辞書的のように引いて使えるようにもなっています。そのような場合に備えて手元に置いてもらえればと思います。

各書店にて1月25日発売!!

紙書籍版、電子書籍版ともに2024年1月25日発売です!

DRMフリーのPDFが、Gihyo Digital Publishing(技術評論社公式の電子書籍サイト)より発売されます。

gihyo.jp

Kindle楽天Kobo等でも発売されます。

紙書籍(通販)は、主にAmazon楽天ブックス、ヨドバシ他各書籍通販サイトで取り扱われます。店頭にもいくらかは並ぶと思いますので、お求めいただければ幸いです。

books.rakuten.co.jp

honto.jp

ヨドバシ.com - 改訂新版 Visual Studio Code実践ガイド -- 定番コードエディタを使い倒すテクニック [単行本] 通販【全品無料配達】

https://www.yodobashi.com/product/100000009003790736/

2024/02/05 追記

VS Code Meetupにて、「『新改訂版VS Code実践ガイド』の 改訂要素からみるVS Codeの進化」というタイトルで講演をしました。

speakerdeck.com