『Visual Studio Code 実践ガイド』を上梓しました

f:id:j74th:20200223113818j:plain:w300

VSCode の解説書、『Visual Studio Code 実践ガイド(技術評論社)』を上梓しました。 入れる価値がある!と思ったことを全部詰め込んだ結果、執筆に 1 年がかかり、さらに 400 ページと分厚くなりました。

gihyo.jp

誰に向けての本なのか

全ての VSCode ユーザのための本を作りました。

VSCode は毎月アップデートがあり、現在のバージョンも v1.42 です。 VSCode は直感的に操作ができるようにできているとはいえ、機能が豊富になり、どんな機能があってどうやって使うかを手軽に知ることが難しくなってきました。 この本により、VSCode がどんな機能を持っているか、どうやって操作することで機能が使えるのかを解説する本になっています。 VSCode に習熟した人も、まだ出会っていない機能があるのではないかと探すつもりで読んでいただけると思います。

また、実際に開発を行う時に必要なことは言語ごとに異なります。 筆者は、実際に Type Script、Go、Python のプロダクト開発で VSCode を活用しています。 第 2 部には、Typs Script でのフロントエンド開発、Go でのサーバ API 開発、Python でのサーバ API、Jupyter の使い方を、ハンズオン形式で解説しています。 各言語ごとにどんな機能が VSCode から得られるのか、VSCode を使って開発を始めるにはどんな準備が必要か、記述しています。

ざっくり構成

第 1 部「Visual Studio Code の基本」は VSCode の全機能を解説したものになっています。 Git の章では定番拡張機能である GitLens などの解説もしています。

第 2 部「実際の開発で Visual Studio Code を使う」では、Type Script、Go、Python を使った実践的な開発方法をハンズオン形式で解説します。

第 3 部「拡張機能の開発と Language Server Protocol」では、拡張機能ではどんな部分が拡張できるのか、その開発方法、マーケットプレイスで公開する方法について解説します。 そして、様々な言語ランタイムとエディターをつなぐ共通基盤となった LSP について、実際にやり取りされるデータを示しながらその動きを解説します。 最後には、LSP を使った VSCode拡張機能開発にまで踏み込みます。

この本の特徴

1. 言語別ハンズオンの章で各言語の様々なデバッグ実行のやり方を書いていること

なにかプログラムで躓いた時にはデバッグ実行が欠かせません。 しかし、デバッグ実行しようと思うと、その環境の整備に手間取ることが多いと思います。 VSCode でも、デバッグ実行が簡単にできるかと言われると、多くの設定が必要になります。 本書では、デバッグ実行できることを当たり前に感じてもらうよう、ユニットテスト、サーバプログラム、フロントエンドプログラムのそれぞれのデバッグ実行のやり方や、そのコツを解説しています。

2. 3 つの言語の使い方を解説していること

VSCode は様々な言語をサポートする万能エディタと言えます。 ただし、言語によって環境構築の仕方や、開発で必要となる機能は違います。 またデバッグに必要となるツールや設定も当然異なります。

一つの言語のためだけでは VSCode の解説書としては足りないと感じていました。 特に筆者が実プロダクトの開発で使っている Type Script、Go、Python ならば、それぞれをかなりのレベルで書くことができると思い、第 2 部の言語を選定しました。 すでにこの 3 つの言語で開発している人も、解説、本書を活用できると思います。

3. LSP の拡張機能を作ること

VSCode の解説書を作るからには、LSP を解説したいと思っていました。 LSP は拡張機能のくくりでプロトコルを解説し、 LSP を解説した書籍は、mattn san の Software Design の連載とこの本くらいなのではと思っています。 さらに、LSP の 1 つのプロトコルを実装する拡張機能開発まで進みます。

解説していないこと

まとめ

アップデートが毎月あり、盛り込めるだけ盛り込み、時間が立つほど機能が増え、それに追われる日々でした。 しかし、開発で使う機能はというと、開発の基盤になり得るほど充実してきており、解説書があっても良い時期になったのではないかと思います。