Code」について徹底的に解説。Codeとは本書を手にとっていただきありがとうございます。Code(本書では,略して「VSCode」と呼びます)の解説書です。VSCodeはさまざまなソフトウェアを開発するためのエディターで,マルチプラットフォームに対応しています。2015」にて公開されました。Studioのファミリー製品となっていますが,そのほかの製品とは異なる特徴が2つあります。1つは,GitHub上でコミュニティとともに開発が続けられているオープンソースソフトウェアであることです。1つは,特定の環境をターゲットにしたIDE(統合開発環境)ではなく,さまざまなプログラミング言語の開発が「拡張機能」によって可能になる開発ツールであることです。VSCodeは,純粋なテキストエディターとしての機能はもちろん,複数のファイルをタブで開いたり,プロジェクト全体を全文検索したり,ファイル間の差分を見たりする機能も持っています。プログラミング言語ごとの開発支援機能を,拡張機能としてマーケットプレイスから簡単にインストールできます。このように機能が拡張できることはVSCodeの特徴の1つである一方,実際に開発支援機能として拡張できる項目は以下に限られています。コード補完デバッグリント(静的解析)外見(テーマ)スニペットキーマップVimやEmacsといった拡張に優れたエディターと比べると,VSCodeで拡張できる範囲は自由ではありません。その制限のおかげで,特定のプログラミング言語によらず共通のUIでスマートに利用できるようになっています。Protocol(以下「LSP」と呼びます)という多種多様なプログラミング言語とエディター間のプロトコルとしてまとめられています。このLSPはVSCode以外のエディターでも使えるソフトウェア開発ツールの共通プロトコルとなりつつあります。VSCodeはLSPによって,まさに現在のソフトウェア開発を再定義したエディタと言えます。筆者は,ソフトウェア開発の最初の段階である,開発に必要なツールの準備をする仕事に従事していました。その際,他の開発メンバーにはIDEでのセットアップをすすめながらも,自分ではカスタマイズしたVimを使っていました。VSCodeの登場により,私も開発メンバーと同じツールを使って環境を構築し,それを共有できるようになりました。VSCodeは開発者間で共有する設定とユーザー個人の設定とが分離されているため,開発メンバーで設定を共有しながらも,細かい動作や視覚効果などは各開発者の好きな設定を追加できます。筆者もキーバインドやカラーテーマをカスタマイズしながら,TypeScript,Go,Pythonのチーム開発に使用しています。外部のLinuxサーバーやDockerコンテナに接続して開発ができるリモート開発機能は,開発環境をLinux中心にできるため,筆者にとって画期的なものでした。そのため今ではソフトウェア開発のほとんどの場面でVSCodeを使うようになりました。VSCodeの機能が充実したことで,今後もVSCodeユーザーは増えていくでしょう。本書は,より気軽にVSCodeを使って開発をブーストし,自分好みにカスタマイズして,拡張機能を作って発展させる,そんなVSCodeユーザーを増やしたい気持ちで執筆しました。読者のソフトウェア開発の発展の一助になればと思います。本書のねらいVSCode自体は解説書がなくてもユーザーが迷わないように,さまざまな配慮がされています。したがって本書は,VSCodeをより深く知りたい以下のような方々に向けた本となっています。本書はVSCodeを基礎から学ぶ読み物としても,欲しい情報を調べるリファレンスとしても使えるようにしています。VSCodeを使用している方は,目次を見て気になるところから読み進めていただければと思います。第1部では,どのプログラミング言語でも使える基本的な機能のすべてを解説します。具体的には,ファイルエクスプローラーの詳細や,最もよく使うエディター画面の使い方,ソースコントロールビュー,デバッグ,スニペット,リモート開発機能の基本などです。Historyといった定番の拡張機能の使い方も扱います(脚注:ソースコントロールビューではGit以外のソースコードバージョン管理システムを使うことができますが,本書ではGitのみを扱います。第1部の最後では,カスタマイズ方法やおすすめの拡張機能の導入について説明します。続く第2部では,実践的な開発環境の構築方法や,言語特有のテクニックについて紹介します。TypeScript,Go,Pythonの3つの言語を例に,ハンズオンの形でフロントエンド開発,サーバーAPI開発の両方にトライします。3つの言語すべてで開発環境の構築手順,ユニットテストの実装とデバッグ,アプリケーションのデバッグ方法がわかるようになっています。APIアプリ開発の両方を同時にデバッグする方法も紹介します。Containerの活用方法や,データの可視化,解析に使えるJupyter機能についても解説します。最後の第3部では,拡張機能の作り方について扱います。外部コマンドを実行してソースコードに反映させるコマンドの作成から,リントツールのエラーの表示方法や,カラーテーマの作り方などを解説します。VSCodeの拡張について考える上で切り離せない,LSPの仕様についても第16章で扱い,さらにLSPを使った拡張機能を開発を解説します。本書では内容をVSCodeの解説に絞るため,Gitコマンドの使い方や,TypeScript,Go,Pythonなどプログラミング言語の仕様,ソフトウェア開発プロセスといった点については取り扱いません。VSCodeは2020年現在も活発に開発が続けられているオープンソースソフトウェアです。そのため,情報は執筆時点(2020年1月)のもので,内容の一部が現行のバージョンに即していない場合があることをご了承ください。目次お問い合わせ著者プロフィール森下篤(もりもとあつし)株式会社ディー・エヌ・エー所属のエンジニア。SIのシステムアーキテクトを経て,2018年より現職。Codeデバッグ技術』(同人誌,のちにインプレスR&Dより刊行)を頒布してから,技術書典に継続的に参加している。――思考を直感的にコード化し、開発を加速する2012年に刊行された『Emacs実践入門』の改訂版です。初版の発行から5年が経過し,Emacsにはさまざまな進化がありました。本書ではそれらに対応するべく,解説の全面見直...Atom実践入門──進化し続けるハッカブルなエディタGitHubが開発したエディタ「Atom」を現場でどう活用するかを解説した書籍です。Atomは標準でさまざまな言語に対応しています。−作業効率をカイゼンする150の技Vimは開発者やサーバ管理者だけでなく,幅広いユーザをカバーする強力なテキストエディタです。書店・販売店の皆様へデベロッパアドミニストレータWEB+デザインライフスタイルサイエンスニュース&レポートメールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。