Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】How to Create a VS Code Extension Using `yo code` (Step-by-Step for Beginners)

2025年09月29日に「Dev.to」が公開したITニュース「How to Create a VS Code Extension Using `yo code` (Step-by-Step for Beginners)」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

VS Code拡張機能の作成方法を、初心者向けに`yo code`を使って解説する。Node.js等の準備からプロジェクトの生成、実行、コードのカスタマイズ、パッケージ化までをステップバイステップで学ぶ。VS Codeを自分好みに拡張し、開発作業を効率化する基礎がわかる。

ITニュース解説

Visual Studio Code(VS Code)は、多くのシステムエンジニアやプログラマーに利用されている強力なコードエディタだ。このエディタが人気を集める大きな理由の一つは、単なるテキスト編集ツールではなく、ユーザーが自分好みにカスタマイズできる「プラットフォーム」としての機能を持っている点にある。このカスタマイズを可能にするのが「拡張機能(Extension)」と呼ばれる追加機能である。

拡張機能は、VS Codeに様々な新しい能力をもたらす。例えば、エディタの見た目を変更する新しいテーマを追加したり、よく使うコードの断片を素早く入力できるスニペットを導入したり、他の開発ツールとの連携を強化したり、さらにはVS Codeには元々存在しない全く新しい機能を追加したりできる。このニュース記事は、そうした既存の拡張機能を使うだけでなく、システムエンジニアを目指す初心者でも、自分だけのオリジナルの拡張機能を開発する方法について、ステップバイステップで詳しく解説している。特に、各ステップを実行する「なぜ」に焦点を当てることで、単に手順をなぞるだけでなく、その背後にある理由まで理解を深めることを目的としている。

拡張機能開発の最初のステップは、いくつかの必要なツールの準備である。一つ目は「Node.js」だ。VS Codeの拡張機能は主にJavaScriptやTypeScriptというプログラミング言語で記述される。これらの言語は通常ウェブブラウザで使われることが多いが、Node.jsはこれらの言語をブラウザ環境の外、つまりパソコン上で直接実行するための環境を提供する。拡張機能のロジックを動作させるためにはNode.jsが不可欠なので、まずはこれをインストールする必要がある。node -v コマンドでNode.jsのバージョンを、npm -v コマンドで付属するパッケージ管理ツールnpmのバージョンを確認できる。

二つ目のツールは「Yeoman (yo)」である。これは「ジェネレーターツール」と呼ばれ、新しいプロジェクトを開始する際に必要な基本的なファイルやディレクトリ構造を自動で作成してくれる優れものだ。もしYeomanがなければ、開発者は拡張機能の構成ファイルをすべて手作業で作成しなければならず、これは手間がかかり、ミスも発生しやすい。Yeomanを使うことで、この面倒な初期設定作業を省き、すぐに拡張機能のコードを書き始めることができる。インストールは npm install -g yo コマンドで実行する。

そして三つ目は、Yeomanの特定のプラグインである「VS Code Extension Generator (generator-code)」だ。Yeomanは様々な種類のプロジェクトを生成できる汎用ツールだが、generator-codeは特にVS Code拡張機能のプロジェクトを生成するために作られた専用のプラグインである。このプラグインがインストールされているからこそ、yo codeというシンプルなコマンドで、VS Code拡張機能のひな形を自動的に作成できるのだ。インストールは npm install -g generator-code コマンドで行う。これらのツールを事前にインストールしておくことで、拡張機能の複雑な内部構造をすべて覚えていなくても、Yeomanが適切なひな形を準備してくれるため、初心者でも安心して開発を始められる。

必要なツールの準備が完了したら、次に yo code コマンドを実行して、いよいよ拡張機能のプロジェクトを生成する。このコマンドを実行すると、対話形式のウィザードが起動し、いくつかの質問に答えることになる。例えば、「どのような種類の拡張機能を作りたいか?」(JavaScript、TypeScript、テーマ、スニペットなど)、「拡張機能の名前は?」、「簡単な説明は?」といった質問だ。初心者の場合は、「New Extension (JavaScript)」を選択するのが最も簡単で理解しやすいだろう。これらの質問に答えると、VS Code拡張機能のプロジェクトフォルダが自動的に作成され、すぐに開発に着手できる状態になる。

プロジェクトが生成されたら、その内部構造を少し見ておくことが重要だ。なぜなら、それぞれのファイルやディレクトリがどのような役割を持っているかを理解しておくことで、後々のカスタマイズやトラブルシューティングが格段に容易になるからだ。生成されたプロジェクトフォルダには、いくつかの主要な要素が含まれている。.vscode/ ディレクトリには、主にVS Codeでのデバッグに関する設定ファイルが格納されている。package.json ファイルは、拡張機能の重要な情報(名前、バージョン、提供するコマンドなど)をVS Codeに伝える役割を担っている。extension.js ファイルは、拡張機能の主要な処理ロジックを記述する場所であり、拡張機能の「頭脳」とも言えるファイルだ。README.md は拡張機能の説明書で、vsc-extension-quickstart.md は開発のヒントが書かれたファイルである。特にpackage.jsonextension.jsの役割を把握しておくことが肝要だ。

プロジェクト構造を理解したら、次に作成した拡張機能を実際にVS Codeで動かしてみよう。これは、開発の早い段階で動作を確認することで、もし問題があってもすぐに発見し、修正できるため非常に効率的だ。VS Codeで生成されたプロジェクトフォルダを開き、キーボードのF5キーを押すか、上部のメニューから「実行」→「デバッグの開始」を選択する。すると、新しいVS Codeウィンドウが起動し、その中に今作成した拡張機能が一時的にインストールされた状態で開かれる。この新しいウィンドウ内で、コマンドパレット(Windows/Linuxでは Ctrl+Shift+P、Macでは Cmd+Shift+P)を開き、yo codeの質問で指定したコマンド名(例えば「Hello World」)を入力して実行する。画面の右下などに通知メッセージが表示されれば、拡張機能が正しく動作していることを確認できたことになる。

デフォルトで生成される拡張機能は「Hello World」と表示するだけのシンプルなものだが、ここからが自分のアイデアを形にするカスタマイズの段階だ。extension.js ファイルを開くと、vscode.window.showInformationMessage('Hello World from my first extension!'); のような行が見つかるだろう。この部分のメッセージを、例えば vscode.window.showInformationMessage('🚀 Hello from my custom VS Code extension!'); のように変更してみる。変更を保存した後、再びF5キーを押して拡張機能を再実行し、コマンドパレットからコマンドを呼び出すと、更新されたメッセージが表示されるはずだ。このextension.jsのロジックを変更することで、ファイルを開いたり、コード補完の提案を表示したり、さらには外部のウェブサービスと連携したりと、開発者の望む様々な機能を実現できる。

拡張機能が完成したら、それを他の人と共有したいと考えるのは自然なことだ。そのための最後のステップが、拡張機能のパッケージ化である。他の人に配布したり、VS Code Marketplaceに公開したりするには、拡張機能を.vsixという専用のファイル形式に変換する必要がある。まず、「VS Code Extension Manager」というvsce(ブイエスシーイーと読む)ツールをインストールする。これは npm install -g vsce コマンドで実行できる。その後、拡張機能プロジェクトのルートディレクトリで vsce package コマンドを実行すると、hello-world-0.0.1.vsix のようなファイルが生成される。この.vsixファイルを友人や同僚に送れば、彼らもあなたの作った拡張機能を簡単にインストールして利用できる。また、このファイルをVS Code Marketplaceにアップロードすれば、世界中の開発者にあなたの拡張機能を公開することも可能だ。

ここまでの一連のステップは、それぞれに明確な目的がある。Node.jsやYeoman、generator-codeといったツールをインストールしたのは、拡張機能がJavaScriptで動作するために必要な実行環境を整え、かつ手作業による複雑な設定作業を自動化するためだ。yo codeを実行したのは、開発者がすぐに本質的なコードの記述に集中できるよう、拡張機能の基本的な構造を自動で生成するためである。生成されたプロジェクト構造を確認したのは、各ファイルやディレクトリの役割を理解し、今後の開発やデバッグをスムーズに進めるためだ。早い段階で拡張機能を実行して動作を確認したのは、潜在的な問題を早期に発見し、効率的に修正するためである。そして、extension.jsのコードをカスタマイズしたのは、開発者のアイデアを具体的な機能として実現するためだ。最後に、拡張機能をパッケージ化したのは、自分の成果を他の開発者と共有し、その価値を広めるためである。

VS Codeの拡張機能開発は、決して専門家だけのものではない。yo codeのような強力なツールがあるおかげで、複雑なセットアップ手順を暗記することなく、いくつかの簡単な質問に答えるだけで、誰でも自分だけの拡張機能を作り始めることができる。日々のコーディング作業で繰り返される退屈なタスクを自動化したり、自分のワークフローを最適化するショートカットを作成したり、あるいは次に広く使われるような革新的な拡張機能を開発することも可能だ。その最初の一歩は、yo codeコマンドから始まるのである。

関連コンテンツ

関連IT用語

関連ITニュース