拡張機能マーケットプレイス
Visual Studio Code に標準で含まれる機能は、ほんの始まりです。VS Code 拡張機能を使用すると、言語、デバッガー、ツールをインストールに追加して、開発ワークフローをサポートできます。VS Code の豊富な拡張性モデルにより、拡張機能の作者は VS Code UI に直接プラグインし、VS Code が使用するのと同じ API を通じて機能を追加できます。この記事では、Visual Studio Code Marketplace から VS Code 拡張機能を検索、インストール、および管理する方法について説明します。
拡張機能の参照
VS Code 内から拡張機能を参照してインストールできます。VS Code の側面にある **アクティビティバー** の拡張機能アイコン、または **表示:拡張機能** コマンド (⇧⌘X (Windows、Linux は Ctrl+Shift+X)) をクリックして、拡張機能ビューを表示します。
これにより、VS Code Marketplace で最も人気のある VS Code 拡張機能のリストが表示されます。
リストの各拡張機能には、簡単な説明、発行元、ダウンロード数、および 5 つ星の評価が含まれています。拡張機能アイテムを選択して拡張機能の詳細ページを表示すると、詳細情報を確認できます。
コンピューターのインターネットアクセスがプロキシサーバーを経由する場合、プロキシサーバーを設定する必要があります。詳細は、プロキシサーバーのサポート を参照してください。
拡張機能のインストール
拡張機能をインストールするには、**インストール** ボタンを選択します。インストールが完了すると、**インストール** ボタンは **管理** ギアボタンに変更されます。
特定のバージョンの拡張機能をインストールする場合は、拡張機能を右クリックして **別のバージョンのインストール** を選択します。利用可能なリストからバージョンを選択できます。
設定同期 が有効になっている場合、拡張機能などの VS Code 設定を複数のマシン間で共有できます。拡張機能をインストールしてマシン間で同期しないようにするには、拡張機能を右クリックして **インストール(同期しない)** を選択します。
拡張機能の検索とインストール
たとえば、人気の TODO Highlight 拡張機能をインストールしてみましょう。この拡張機能は、ソースコード内の 'TODO:' や 'FIXME:' などのテキストを強調表示するため、未完了の部分をすばやく見つけることができます。
拡張機能ビュー (⇧⌘X (Windows、Linux は Ctrl+Shift+X)) で、検索ボックスに「todo」と入力して、タイトルまたはメタデータに「todo」が含まれる拡張機能に Marketplace の提供物を絞り込みます。リストに **TODO Highlight** 拡張機能が表示されるはずです。
拡張機能は、発行元と拡張機能 ID によって一意に識別されます。**TODO Highlight** 拡張機能を選択すると、拡張機能の詳細ページが表示されます。ここでは、拡張機能 ID(この場合は `wayou.vscode-todo-highlight`)を確認できます。拡張機能 ID を知っていると、名前が似ている拡張機能が複数ある場合に役立ちます。
**インストール** ボタンを選択すると、VS Code は Marketplace から拡張機能をダウンロードしてインストールします。インストールが完了すると、**インストール** ボタンは **管理** ギアボタンに置き換えられます。
TODO Highlight 拡張機能の動作を確認するには、ソースコードファイルを開いて 'TODO:' というテキストを追加すると、テキストが強調表示されます。
TODO Highlight 拡張機能は、コマンドパレット (⇧⌘P (Windows、Linux は Ctrl+Shift+P)) で見つけることができる **TODO-Highlight: ハイライトされた注釈を表示** と **TODO-Highlight: ハイライトを切り替える** のコマンドを提供します。**TODO-Highlight: ハイライトを切り替える** コマンドを使用すると、ハイライトをすばやく無効化または有効化できます。
この拡張機能は、動作を調整するための設定も提供しており、設定エディター (⌘, (Windows、Linux は Ctrl+,)) で見つけることができます。たとえば、テキスト検索を大文字と小文字を区別しないようにしたい場合は、**Todohighlight: 大文字と小文字を区別する** 設定のチェックを外すことができます。
拡張機能が目的の機能を提供しない場合は、いつでも **管理** ボタンのコンテキストメニューから拡張機能を **アンインストール** することができます。
これは、拡張機能のインストールと使用例の一つです。VS Code Marketplace には、数百のプログラミング言語とタスクをサポートする何千もの拡張機能があります。Java、Python、Go、C++ のようなフル機能の言語サポートから、GUID を作成する、カラースキームを変更する、またはエディターに仮想ペットを追加するような単純な拡張機能まで、あらゆるものがあります。
拡張機能の詳細
拡張機能の詳細ページでは、拡張機能の README を読んで、拡張機能の次の項目を確認できます。
- **機能の追加** - 設定、コマンドとキーボードショートカット、言語構文、デバッガーなど、拡張機能による VS Code への追加機能。
- **変更ログ** - 利用可能な場合、拡張機能リポジトリの変更ログ。
- **依存関係** - 拡張機能が他の拡張機能に依存しているかどうかをリスト表示。
拡張機能が拡張機能パックの場合、**拡張機能パック** セクションに、パックのインストール時にインストールされる拡張機能が表示されます。拡張機能パック は、複数の拡張機能をまとめてバンドルすることで、一度に簡単にインストールできるようにします。
拡張機能ビューのフィルターとコマンド
**拡張機能のフィルター** コンテキストメニューを使用して、拡張機能ビューをフィルターできます。
表示するためのフィルターがあります。
- 更新できる古い拡張機能のリスト
- 現在有効/無効になっている拡張機能のリスト
- ワークスペースに基づいて推奨される拡張機能のリスト
- 世界的に人気のある拡張機能のリスト
拡張機能リストは、**インストール数**、**評価**、**名前**、**公開日**、または **更新日** のいずれかで、昇順または降順に並べ替えることができます。拡張機能検索フィルターの詳細については、下記 を参照してください。
追加の拡張機能ビューコマンドは、...
**表示とその他の操作** ボタンから実行できます。
このコンテキストメニューから、拡張機能の更新、すべての拡張機能の有効化/無効化、および問題のある拡張機能の動作を特定するための拡張機能バイセクトユーティリティの使用を制御できます。
拡張機能の検索
拡張機能ビューの上部にある検索ボックスをクリアし、探している拡張機能、ツール、またはプログラミング言語の名前を入力できます。
たとえば、「python」と入力すると、Python言語拡張機能のリストが表示されます。
探している拡張機能の正確な識別子がわかっている場合は、@id:
プレフィックスを使用できます(例:@id:vue.volar
)。さらに、結果をフィルタリングまたはソートするには、以下で詳しく説明されているフィルタおよびソートコマンドを使用できます。
拡張機能の管理
VS Codeを使用すると、拡張機能を簡単に管理できます。拡張機能ビュー、**コマンドパレット**(コマンドには**拡張機能:**プレフィックスがあります)、またはコマンドラインスイッチを使用して、拡張機能のインストール、無効化、更新、およびアンインストールを実行できます。
インストールされている拡張機能のリスト
デフォルトでは、拡張機能ビューには、現在インストールされている拡張機能と、ユーザーにおすすめのすべての拡張機能が表示されます。**コマンドパレット**(⇧⌘P(Windows、Linux Ctrl+Shift+P))または**その他の操作**(...
)ドロップダウンメニュー > **ビュー** > **インストール済み**にある**拡張機能:インストール済みビューにフォーカス**コマンドを使用して、検索ボックスのテキストをクリアし、無効になっている拡張機能を含む、インストールされているすべての拡張機能のリストを表示できます。
拡張機能のアンインストール
拡張機能をアンインストールするには、拡張機能エントリの右側の**管理**ギアボタンを選択し、ドロップダウンメニューから**アンインストール**を選択します。これにより、拡張機能がアンインストールされ、拡張機能ホストの再起動(**拡張機能の再起動**)を求めるプロンプトが表示されます。
拡張機能の無効化
拡張機能を完全に削除したくない場合は、代わりに拡張機能エントリの右側のギアボタンをクリックして、拡張機能を一時的に無効にすることができます。拡張機能をグローバルに無効にするか、現在のワークスペースのみに無効にすることができます。拡張機能を無効にした後、拡張機能ホストの再起動(**拡張機能の再起動**)を求めるプロンプトが表示されます。
インストールされているすべての拡張機能をすばやく無効にするには、**コマンドパレット**と**その他の操作**(...
)ドロップダウンメニューに**すべてのインストール済み拡張機能を無効にする**コマンドがあります。
拡張機能は無効のまま、ユーザーが再度有効にするまで、すべてのVS Codeセッションで無効になります。
拡張機能の有効化
同様に、拡張機能を無効にしている場合(リストの**無効**セクションに表示され、**無効**とマークされます)、ドロップダウンメニューの**有効化**または**有効化(ワークスペース)**コマンドを使用して、再度有効にすることができます。
**その他の操作**(...
)ドロップダウンメニューには、**すべての拡張機能を有効にする**コマンドもあります。
拡張機能の自動更新
VS Codeは拡張機能の更新を確認し、自動的にインストールします。更新後、拡張機能ホストの再起動(**拡張機能の再起動**)を求めるプロンプトが表示されます。
拡張機能を手動で更新する場合は、**すべての拡張機能の自動更新を無効にする**コマンドまたは拡張機能ビューの対応する操作を使用して、自動更新を無効にすることができます。extensions.autoUpdate 設定 を構成することもできます。**すべての拡張機能の自動更新を有効にする**コマンドを使用して、自動更新を再度有効にします。
拡張機能を右クリックして**自動更新**項目を切り替えることで、個々の拡張機能の自動更新を構成することもできます。
VS Codeが更新を確認しないようにするには、extensions.autoCheckUpdates設定をfalseに設定します。
拡張機能の手動更新
拡張機能の自動更新を無効にしている場合は、@updates
フィルタを使用する**期限切れの拡張機能を表示**コマンドを使用して、拡張機能の更新をすばやく確認できます。これにより、現在インストールされている拡張機能で使用可能な更新が表示されます。
期限切れの拡張機能の**更新**ボタンを選択します。更新がインストールされ、拡張機能ホストの再起動(**拡張機能の再起動**)を求めるプロンプトが表示されます。**すべての拡張機能を更新**コマンドを使用して、期限切れのすべての拡張機能を一度に更新することもできます。
更新の自動チェックも無効にしている場合は、**拡張機能の更新を確認**コマンドを使用して、更新できる拡張機能を確認できます。
推奨拡張機能
**推奨拡張機能の表示**を使用して、推奨拡張機能のリストを確認できます。これは、@recommended
フィルタを設定します。拡張機能の推奨事項は次のいずれかです。
- **ワークスペースの推奨事項** - 現在のワークスペースの他のユーザーが推奨しています。
- **その他の推奨事項** - 最近開いたファイルに基づいて推奨されています。
プロジェクトの他のユーザーのために推奨事項に貢献する方法については、以下のセクションを参照してください。
推奨事項の無視
推奨事項を却下するには、拡張機能項目を選択して詳細ページを開き、**管理**ギアボタンを選択してコンテキストメニューを表示します。**推奨事項を無視**メニュー項目を選択します。無視された推奨事項は、今後推奨されなくなります。
拡張機能の設定
VS Code拡張機能には、非常に異なる構成と要件があります。一部の拡張機能は、設定エディターで変更できる設定をVS Codeに提供します。他の拡張機能には、独自の構成ファイルがある場合があります。拡張機能には、コンパイラ、デバッガー、コマンドラインツールなどの追加コンポーネントのインストールとセットアップが必要な場合があります。拡張機能のREADME(拡張機能ビューの詳細ページで表示)を参照するか、VS Code Marketplace(詳細ページの拡張機能名をクリック)の拡張機能ページにアクセスしてください。多くの拡張機能はオープンソースであり、Marketplaceページにリポジトリへのリンクがあります。
コマンドラインからの拡張機能管理
VS Codeの自動化と構成を容易にするために、コマンドラインから拡張機能をリスト、インストール、およびアンインストールすることができます。拡張機能を識別する際には、publisher.extension
形式の完全な名前を指定します(例:ms-python.python
)。
例
code --extensions-dir <dir>
Set the root path for extensions.
code --list-extensions
List the installed extensions.
code --show-versions
Show versions of installed extensions, when using --list-extension.
code --install-extension (<extension-id> | <extension-vsix-path>)
Installs an extension.
code --uninstall-extension (<extension-id> | <extension-vsix-path>)
Uninstalls an extension.
code --enable-proposed-api (<extension-id>)
Enables proposed API features for extensions. Can receive one or more extension IDs to enable individually.
拡張機能の詳細ページのMarketplace情報の下に、拡張機能IDが表示されます。
拡張機能ビューのフィルター
拡張機能ビューの検索ボックスは、拡張機能の検索と管理に役立つフィルタをサポートしています。**インストール済みの拡張機能を表示**コマンドと**推奨拡張機能を表示**コマンドを使用した場合、@installed
と@recommended
などのフィルタが表示されている場合があります。また、人気または評価でソートしたり、カテゴリ(例:「リンター」)やタグ(例:「ノード」)で検索したりできるフィルタも用意されています。すべてのフィルタとソートコマンドの完全なリストを表示するには、拡張機能の検索ボックスに@
と入力し、候補をナビゲートします。
拡張機能ビューのフィルタの一部を以下に示します。
@builtin
- VS Codeに付属する拡張機能を表示します。タイプ別にグループ化されています(プログラミング言語、テーマなど)。@deprecated
- 非推奨の拡張機能を表示します。@disabled
- 無効になっているインストール済み拡張機能を表示します。@enabled
- 有効になっているインストール済み拡張機能を表示します。拡張機能は個別に有効化/無効化できます。@featured
- おすすめの拡張機能を表示します。@installed
- インストール済みの拡張機能を表示します。@popular
- 人気の拡張機能を表示します。@recentlyPublished
- Marketplaceに最近公開された拡張機能を表示します。@recommended
- 推奨拡張機能を表示します。ワークスペース固有のものと一般的に使用されるものにグループ化されています。@updates
- 期限切れのインストール済み拡張機能を表示します。Marketplaceで新しいバージョンが利用可能です。@workspaceUnsupported
- このワークスペースでサポートされていない拡張機能を表示します。@category
- 指定されたカテゴリに属する拡張機能を表示します。サポートされているカテゴリの一部を以下に示します。完全なリストについては、@category
と入力し、候補リストのオプションに従ってください。@category:themes
@category:formatters
@category:linters
@category:snippets
これらのフィルタは組み合わせることもできます。たとえば、インストールされているすべてのテーマを表示するには、@installed @category:themes
を使用します。
フィルタが指定されていない場合、拡張機能ビューには、現在インストールされている拡張機能と推奨されている拡張機能が表示されます。
ソート
@sort
フィルタを使用して拡張機能をソートできます。これは、次の値を取ることができます。
installs
- Marketplaceのインストール数で降順にソートします。name
- 拡張機能名でアルファベット順にソートします。publishedDate
- 拡張機能の公開日順にソートします。rating
- Marketplaceの評価(1~5つ星)で降順にソートします。updateDate
- 拡張機能の最終更新日順にソートします。
カテゴリとタグ
拡張機能は、その機能を表す**カテゴリ**と**タグ**を設定できます。
category:
とtag:
を使用して、カテゴリとタグでフィルタリングできます。
サポートされているカテゴリは、[Azure, Data Science, Debuggers, Education, Extension Packs, Formatters, Keymaps, Language Packs, Linters, Machine Learning, Notebooks, Others, Programming Languages, SCM Providers, Snippets, Testing, Themes, Visualization]
です。これらは、拡張機能の検索ボックスのIntelliSenseからアクセスできます。
カテゴリ名が2語以上の場合(例:category:"SCM Providers"
)、引用符で囲む必要があります。
タグには任意の文字列を含めることができ、IntelliSenseによって提供されないため、Marketplaceを確認して役立つタグを見つけてください。
VSIX からのインストール
.vsix
ファイルにパッケージ化されたVS Code拡張機能を手動でインストールできます。拡張機能ビューのコマンドドロップダウンにある**VSIXからインストール**コマンド、または**コマンドパレット**にある**拡張機能:VSIXからインストール**コマンドを使用して、.vsix
ファイルを指定します。
VS Codeの--install-extension
コマンドラインスイッチを使用して、.vsix
ファイルへのパスを指定してインストールすることもできます。
code --install-extension myextension.vsix
コマンドラインで--install-extension
を複数回指定して、複数の拡張機能を一度にインストールできます。
VSIXを介して拡張機能をインストールする場合、その拡張機能の自動更新はデフォルトで無効になります。
拡張機能のパッケージ化と公開の詳細については、拡張機能APIの拡張機能の公開の記事を参照してください。
ワークスペース推奨拡張機能
優れた拡張機能セットを使用すると、特定のワークスペースまたはプログラミング言語での作業の生産性を向上させることができ、このリストをチームや同僚と共有したい場合があります。**拡張機能:推奨拡張機能の構成(ワークスペースフォルダー)**コマンドを使用して、ワークスペースの推奨拡張機能リストを作成できます。
単一フォルダーのワークスペースでは、このコマンドにより、ワークスペースの.vscode
フォルダーにextensions.json
ファイルが作成され、そこに拡張機能の識別子({publisherName}.{extensionName})のリストを追加できます。
マルチルートワークスペースでは、このコマンドにより、extensions.recommendations
の下に拡張機能をリストできる.code-workspace
ファイルが開きます。マルチルートワークスペースの個々のフォルダーに拡張機能の推奨事項を追加するには、**拡張機能:推奨拡張機能の構成(ワークスペースフォルダー)**コマンドを使用することもできます。
extensions.json
の例を以下に示します。
{
"recommendations": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
}
これは、リンター拡張機能とコードフォーマッター拡張機能を推奨しています。
拡張機能は、パブリッシャー識別子と拡張機能識別子publisher.extension
を使用して識別されます。名前は拡張機能の詳細ページに表示されます。VS Codeは、これらのファイル内でインストールされている拡張機能の自動補完を提供します。
.
ワークスペースが初めて開かれたときに、VS Codeはユーザーに推奨拡張機能のインストールを促します。ユーザーは、**拡張機能:推奨拡張機能の表示**コマンドを使用して、リストを確認することもできます。
次のステップ
興味深いトピックをいくつかご紹介します…
- 拡張機能 API - VS Code 拡張機能 API の学習を始めましょう。
- 最初の拡張機能 - 簡単な Hello World 拡張機能を作成してみましょう。
- Marketplace への公開 - 作成した拡張機能を VS Code Marketplace に公開しましょう。
よくある質問
拡張機能はどこにインストールされますか?
拡張機能は、ユーザーごとの拡張機能フォルダにインストールされます。プラットフォームによって、場所は次のフォルダになります。
- Windows
%USERPROFILE%\.vscode\extensions
- macOS
~/.vscode/extensions
- Linux
~/.vscode/extensions
--extensions-dir <dir>
コマンドラインオプションを使用して VS Code を起動することで、場所を変更できます。
拡張機能をインストールしようとすると、常に「connect ETIMEDOUT」エラーが発生します。
これは、お使いのマシンがインターネットにアクセスするためにプロキシサーバーを経由している場合に発生する可能性があります。詳細については、セットアップトピックのプロキシサーバーのサポートセクションを参照してください。
Marketplace から拡張機能を直接ダウンロードできますか?
一部のユーザーは、Marketplace から拡張機能を一度ダウンロードし、ローカル共有から複数の VS Code インスタンスにインストールすることを好みます。これは、接続上の問題がある場合や、開発チームが固定された拡張機能セットを使用したい場合に役立ちます。
拡張機能をダウンロードするには、拡張機能ビューで検索し、結果から拡張機能を右クリックして、VSIX のダウンロードを選択します。
ダウンロードオプションは、VS Code バージョン 1.96 以降で使用可能であり、まだインストールされていない拡張機能に対してのみ使用できます。
VS Code が拡張機能の推奨事項を提供するのを停止できますか?
はい、VS Code が拡張機能ビューまたは通知で拡張機能の推奨事項を表示しないようにするには、次の設定を変更できます。
- extensions.showRecommendationsOnlyOnDemand - 推奨セクションを削除するには、true に設定します。
- extensions.ignoreRecommendations - 拡張機能の推奨通知を無効にするには、true に設定します。
推奨事項を表示したい場合は、推奨拡張機能の表示コマンドは常に使用できます。
Marketplace の拡張機能を信頼できますか?
Marketplace は、公開された各拡張機能パッケージに対してマルウェアスキャンを実行して、安全性を確保しています。複数のウイルス対策エンジンを使用するこのスキャンは、新しい拡張機能ごとに、そして各拡張機能の更新ごとに実行されます。スキャンがクリアになるまで、拡張機能はMarketplaceで公開されません。
Marketplace はまた、Microsoft や RedHat などの公式パブリッシャー、および GitHub Copilot などの一般的な拡張機能名での名前乗っ取りを拡張機能作成者が行うことを防ぎます。
悪意のある拡張機能が報告され、検証された場合、または拡張機能の依存関係に脆弱性が発見された場合
- 拡張機能は Marketplace から削除されます。
- 拡張機能はキルリストに追加されるため、インストールされている場合は、VS Code によって自動的にアンインストールされます。
Marketplace は、インストールする拡張機能について情報に基づいた決定を下すためのリソースも提供しています。
- 評価とレビュー - 他の人が拡張機能についてどう考えているかを読んでください。
- Q&A - 既存の質問とパブリッシャーの対応レベルを確認してください。懸念事項がある場合は、拡張機能のパブリッシャーとやり取りすることもできます。
- 問題、リポジトリ、ライセンス - パブリッシャーがこれらを用意しているかどうか、そして期待するサポートがあるかどうかを確認してください。
- 検証済みパブリッシャー - パブリッシャー名とドメインの横にある青いチェックマークを、信頼の追加の指標として使用してください。これは、パブリッシャーが Marketplace にドメイン所有権を証明したことを示しています。また、Marketplace がドメインの存在と Marketplace でのパブリッシャーの健全性を少なくとも 6 か月間検証したことも示しています。
不審な拡張機能が見つかった場合は、拡張機能の詳細情報セクションの下部にある不正行為の報告リンクを使用して、Marketplace に報告できます。
拡張機能の署名を VS Code で検証できません。
Visual Studio Marketplace は、拡張機能が公開されるときにすべての拡張機能に署名します。VS Code は、拡張機能をインストールするときにこの署名を検証して、拡張機能パッケージの整合性とソースを確認します。
拡張機能をインストールすると、次のエラーメッセージが表示される場合があります。Visual Studio Code は拡張機能の署名を検証できないため、拡張機能をインストールできません。
このエラーは、サポートされていない環境や(まれですが)パッケージの整合性の問題など、さまざまな原因で発生する可能性があります。このエラーが発生した場合は、インストールする前に注意してください。
Visual Studio Marketplace チームに連絡して問題を報告することをお勧めします。拡張機能 ID を必ず含めてください。拡張機能の署名検証を無効にする場合は、extensions.verifySignature設定を使用できます。
リモートウィンドウに接続している場合、拡張機能が同期しません。
設定同期を使用すると、設定、キーバインド、インストール済み拡張機能などの Visual Studio Code の構成をマシン間で共有できるため、常に使い慣れた設定で作業できます。
VS Code は、SSH、開発コンテナ(devcontainer)、WSL に接続している場合など、リモートウィンドウとの間で拡張機能を同期しません。
組織内で特定の拡張機能を許可またはブロックできますか?
extensions.allowed
アプリケーション設定を構成することで、組織でインストールできる拡張機能を制御できます。設定が構成されていない場合、すべての拡張機能が許可されます。設定が構成されている場合、リストにないすべての拡張機能はインストールがブロックされます。
許可される拡張機能の構成について詳しくはご確認ください。