拡張機能の公開
高品質な拡張機能を作成したら、他のユーザーが拡張機能を見つけ、ダウンロードし、使用できるように、VS Code 拡張機能マーケットプレイスに公開できます。または、拡張機能をインストール可能なVSIX形式にパッケージ化して、他のユーザーと共有することもできます。
このトピックの内容
- vsce (VS Code拡張機能を管理するためのCLIツール) の使用
- 拡張機能のパッケージ化、公開、および非公開
- 拡張機能の公開に必要となるパブリッシャーの登録
vsce
vsceは、「Visual Studio Code Extensions」の略で、VS Code拡張機能をパッケージ化、公開、管理するためのコマンドラインツールです。
インストール
Node.jsがインストールされていることを確認してください。その後、次を実行します。
npm install -g @vscode/vsce
使用方法
vsce
を使用すると、拡張機能を簡単にパッケージ化および公開できます。
$ cd myExtension
$ vsce package
# myExtension.vsix generated
$ vsce publish
# <publisher id>.myExtension published to VS Code Marketplace
vsce
は、拡張機能の検索、メタデータの取得、非公開も可能です。利用可能なすべてのvsce
コマンドのリファレンスについては、vsce --help
を実行してください。
拡張機能の公開
セキュリティ上の懸念から、vsce
はユーザーが提供したSVG画像を含む拡張機能を公開しません。
公開ツールは以下の制約をチェックします。
package.json
で提供されるアイコンはSVGであってはなりません。package.json
で提供されるバッジは、信頼できるバッジプロバイダーからのものでない限り、SVGであってはなりません。README.md
およびCHANGELOG.md
内の画像URLは、https
URLに解決される必要があります。README.md
およびCHANGELOG.md
内の画像は、信頼できるバッジプロバイダーからのものでない限り、SVGであってはなりません。
Visual Studio Codeは、マーケットプレイスサービスにAzure DevOpsを使用しています。これは、拡張機能の認証、ホスティング、および管理がAzure DevOpsを通じて提供されることを意味します。
vsce
は、個人用アクセストークンを使用してのみ拡張機能を公開できます。拡張機能を公開するには、少なくとも1つ作成する必要があります。
個人用アクセストークンを取得する
まず、Azure DevOpsで独自の組織を作成するためのドキュメントに従ってください。以下の例では、組織名はvscode
ですが、ご自身の新しい組織名を適切に使用してください。組織名がパブリッシャー名と同じである必要はないことに注意してください。
-
組織のホームページ (例:
https://dev.azure.com/vscode
) から、プロフィール画像の横にあるユーザー設定ドロップダウンメニューを開き、Personal access tokens を選択します。 -
Personal Access Tokens ページで、New Token を選択します。
-
新しい個人用アクセストークンの作成モーダルで、トークンに対して以下の詳細を選択します。
- 名前: トークンに付けたい任意の名前
- 組織: アクセス可能なすべての組織
- 有効期限 (オプション): トークンに必要な有効期限を設定します
- スコープ: カスタム定義
- Scopes セクションの下にある Show all scopes リンクをクリックします。
- スコープリストで、Marketplace までスクロールし、Manage スコープを選択します。
-
作成 をクリックします。
新しく作成された個人用アクセストークンが表示されます。安全な場所にコピーしてください。パブリッシャーを作成する際に必要になります。
パブリッシャーを作成する
パブリッシャーは、Visual Studio Code Marketplaceに拡張機能を公開できるIDです。すべての拡張機能は、package.json
ファイルにpublisher
識別子を含める必要があります。
パブリッシャーを作成するには
-
前のセクションで個人用アクセストークンを作成するために使用したのと同じMicrosoftアカウントでログインします。
-
左側のペインで パブリッシャーの作成 をクリックします。
-
新しいページで、新しいパブリッシャーの必須パラメーター (識別子と名前、それぞれIDと名前フィールド) を指定します。
- ID: 拡張機能のURLで使用される、マーケットプレイスにおけるパブリッシャーの一意な識別子。IDは作成後に変更できません。
- 名前: マーケットプレイスで拡張機能とともに表示される、パブリッシャーの一意な名前。これは、あなたの会社名またはブランド名でも構いません。
以下は、Python拡張機能のパブリッシャー識別子と名前の例です。
-
オプションで、残りのフィールドを入力します。
-
作成 をクリックします。
-
vsce
を使用して新しく作成されたパブリッシャーを検証します。ターミナルで以下のコマンドを実行し、プロンプトが表示されたら前のステップで作成した個人用アクセストークンを入力します。vsce login <publisher id> https://marketplace.visualstudio.com/manage/publishers/ Personal Access Token for publisher '<publisher id>': **************************************************** The Personal Access Token verification succeeded for the publisher '<publisher id>'.
検証が完了したら、拡張機能を公開する準備が整います。
拡張機能を公開する
拡張機能は2つの方法で公開できます。
-
vsce publish
コマンドを使用して自動的にvsce publish
もし上記の
vsce login
コマンドで個人用アクセストークンをまだ提供していない場合、vsce
がそれを要求します。 -
手動で、
vsce package
を使用して拡張機能をインストール可能なVSIX形式にパッケージ化し、その後Visual Studio Marketplace パブリッシャー管理ページにアップロードする
拡張機能のインストールと評価を確認する
Visual Studio Marketplace パブリッシャー管理ページでは、各拡張機能の時間の経過に伴う取得傾向、総取得数、評価とレビューにアクセスできます。レポートを表示するには、拡張機能をクリックするか、その他のアクション > レポート を選択してください。
拡張機能のバージョンを自動的にインクリメントする
拡張機能を公開する際、SemVer互換の番号またはバージョン (major
, minor
, patch
) を指定して、バージョン番号を自動的にインクリメントできます。例えば、拡張機能のバージョンを1.0.0から1.1.0に更新するには、次のように指定します。
vsce publish minor
または
vsce publish 1.1.0
どちらのコマンドも、まず拡張機能のpackage.json
のバージョン属性を変更し、その後更新されたバージョンで公開します。
gitリポジトリでvsce publish
を実行すると、npm-versionを介してバージョンコミットとタグも作成されます。デフォルトのコミットメッセージは拡張機能のバージョンになりますが、-m
フラグを使用してカスタムコミットメッセージを提供できます。(現在のバージョンは、コミットメッセージから%s
で参照できます)。
拡張機能の非公開
Visual Studio Marketplace パブリッシャー管理ページから、その他のアクション > 非公開 をクリックして拡張機能を非公開にできます。
非公開にされると、拡張機能の可用性ステータスは非公開に変更され、マーケットプレイスとVisual Studio Codeの両方からダウンロードできなくなります。
拡張機能を非公開にしても、マーケットプレイスは拡張機能の統計情報を保持します。
拡張機能の削除
拡張機能は2つの方法で削除できます。
-
unpublish
コマンドを使用してvsce
を介して自動的にvsce unpublish <publisher id>.<extension name>
-
手動で、Visual Studio Marketplace パブリッシャー管理ページから、その他のアクション > 削除 をクリックする
どちらの場合も、拡張機能の名前を入力して削除を確認するよう求められます。削除操作は元に戻せないことに注意してください。
拡張機能を削除すると、マーケットプレイスもすべての拡張機能の統計情報を削除します。拡張機能を削除するのではなく、非公開にすることをお勧めします。
拡張機能の非推奨化
拡張機能を単に非推奨にするか、別の拡張機能または設定に推奨を移すことができます。非推奨の拡張機能は、UIで薄暗い取り消し線付きのテキストで表示されます。
非推奨の拡張機能はそれぞれ、拡張機能タイルの右下隅に黄色の警告アイコンが表示されます (上記のスクリーンショットを参照)。拡張機能タイルにマウスカーソルを合わせると、このアイコンの横に非推奨の詳細が表示されます。その内容として、
-
代替なしで拡張機能が非推奨になった場合
-
別の拡張機能が推奨されて拡張機能が非推奨になった場合
-
設定が推奨されて拡張機能が非推奨になった場合
VS Codeは、すでにインストールされている非推奨の拡張機能を自動的に移行またはアンインストールしません。非推奨の拡張機能に代替の拡張機能または設定がある場合、VS Codeは指定された代替に迅速に切り替えるのに役立つ移行ボタンを表示します。
拡張機能を非推奨としてマークするには、非推奨の拡張機能ディスカッションスレッドにコメントを残してください。
現時点では、マーケットプレイスでは拡張機能は非推奨として表示されません。この機能は後日利用可能になります。
拡張機能のパッケージ化
次の場合、拡張機能をパッケージ化することを選択できます。
- VS Code インスタンスでテストする場合。
- マーケットプレイスに公開せずに配布する場合。
- 他の人とプライベートに共有する場合。
パッケージ化とは、拡張機能を含む.vsix
ファイルを作成することです。このファイルはVS Codeにインストールできます。一部の拡張機能は、GitHubリリースの一部として.vsix
ファイルを公開しています。
拡張機能をパッケージ化するには、拡張機能のルートフォルダーで以下のコマンドを実行します。
vsce package
このコマンドは、拡張機能のルートフォルダーに.vsix
ファイルを作成します。例: my-extension-0.0.1.vsix
。
ユーザーがVS Codeで.vsix
ファイルをインストールするには
-
VS Codeの拡張機能ビューから
- 拡張機能ビューに移動します。
- ビューとその他のアクション... を選択します。
- VSIXからインストール... を選択します。
-
コマンドラインから
# if you use VS Code code --install-extension my-extension-0.0.1.vsix # if you use VS Code Insiders code-insiders --install-extension my-extension-0.0.1.vsix
拡張機能のフォルダー
拡張機能を読み込むには、ファイルをVS Code拡張機能フォルダー.vscode/extensions
にコピーする必要があります。オペレーティングシステムによって、このフォルダーの場所は異なります。
- Windows:
%USERPROFILE%\.vscode\extensions
- macOS:
~/.vscode/extensions
- Linux:
~/.vscode/extensions
Visual Studio Code の互換性
拡張機能をオーサリングする際には、拡張機能が互換性のあるVS Codeのバージョンを指定する必要があります。これを行うには、package.json
内のengines.vscode
プロパティを使用します。
{
"engines": {
"vscode": "^1.8.0"
}
}
- 値が
1.8.0
(キャレットなし) の場合、拡張機能はVS Code1.8.0
のみと互換性があることを意味します。 - 値が
^1.8.0
の場合、拡張機能はVS Code1.8.0
以降 (1.8.1
,1.9.0
などを含む) と互換性があることを意味します。
engines.vscode
プロパティを使用すると、依存するAPIを含むクライアントにのみ拡張機能がインストールされるようにできます。このメカニズムは、StableリリースとInsidersリリースの両方でうまく機能します。
例えば、VS Codeの最新のStableバージョンが1.8.0
であるとします。バージョン1.9.0
の開発中に、新しいAPIが導入され、バージョン1.9.0-insider
を通じてInsiderリリースで利用可能になりました。このAPIを活用する拡張機能バージョンを公開したい場合、バージョン依存関係を^1.9.0
と指定する必要があります。これにより、新しい拡張機能バージョンはVS Code >=1.9.0
(つまり、現在のInsidersリリースを使用しているユーザー) でのみ利用可能になります。VS Code Stableを使用しているユーザーは、Stableリリースがバージョン1.9.0
に到達したときにのみ更新を受け取ります。
高度な使用法
マーケットプレイスとの統合
Visual Studio Marketplaceでの拡張機能の表示をカスタマイズできます。例としてGo拡張機能を参照してください。
マーケットプレイスで拡張機能を魅力的に見せるためのヒントをいくつか紹介します。
-
拡張機能のマーケットプレイスページに表示したい内容を記述した
README.md
ファイルを拡張機能のルートに追加します。注package.json
に公開GitHubリポジトリを指すrepository
プロパティがある場合、vsce
はそれを自動的に検出し、デフォルトでmain
ブランチを使用して相対リンクを調整します。これは、vsce package
またはvsce publish
の実行時に--githubBranch
フラグで上書きできます。また、--baseContentUrl
および--baseImagesUrl
フラグを使用して、リンクと画像のベースURLを設定することもできます。 -
拡張機能のライセンスに関する情報を記述した
LICENSE
ファイルを拡張機能のルートに追加します。 -
拡張機能の変更履歴に関する情報を記述した
CHANGELOG.md
ファイルを拡張機能のルートに追加します。 -
拡張機能のサポートを受ける方法に関する情報を記述した
SUPPORT.md
ファイルを拡張機能のルートに追加します。 -
package.json
のgalleryBanner.color
プロパティを介して対応する16進値を指定することで、マーケットプレイスページのバナー背景色を設定します。 -
package.json
のicon
プロパティを介して、拡張機能に含まれる128x128px以上のPNGファイルへの相対パスを指定することでアイコンを設定します。
詳細については、マーケットプレイス表示のヒントを参照してください。
パブリッシャーを検証する
ブランドまたはIDに関連付けられた対象ドメインの所有権を検証することで、検証済みパブリッシャーになることができます。パブリッシャーが検証されると、マーケットプレイスは拡張機能の詳細に検証済みバッジを追加します。
前提条件
検証されるには、パブリッシャーがVS Marketplaceに6か月以上1つ以上の拡張機能を公開している必要があり、ドメインの登録も少なくとも6か月前のものである必要があります。これらの基準が満たされるまで、検証申請はお待ちください。
パブリッシャーを検証するには
-
左側のペインで、検証したいパブリッシャーを選択するか、作成します。
-
メインペインで、詳細タブを選択します。
-
詳細タブの検証済みドメインセクションで、対象ドメインを入力します。
注: 入力し始めると、詳細タブのタイトルの横にアスタリスク (*) が表示されます。VS Codeと同様に、これは未保存の変更があることを示します。同じ理由で、検証ボタンはまだ無効になっています。
-
保存 を選択し、その後 検証 を選択します。
ドメインのDNS設定にTXTレコードを追加するための指示を提供するダイアログウィンドウが表示されます。
-
指示に従って、ドメインのDNS設定にTXTレコードを追加します。
-
ダイアログウィンドウで 検証 を選択して、TXTレコードが正常に追加されたことを検証します。
TXTレコードが検証された後、マーケットプレイスチームがリクエストを審査し、5営業日以内に結果をお知らせします。検証には、ドメイン、ウェブサイト、拡張機能の実績の前提条件、コンテンツの適格性、合法性、信頼性、良好な評判が含まれますが、これらに限定されません。
検証に合格すると、Visual Studio Marketplaceパブリッシャー管理ページで、パブリッシャー名の横に該当するバッジが表示されます。
注:
- パブリッシャーの表示名を変更すると、検証済みバッジは取り消されます。
- 将来的に、パブリッシャーによる利用規約または上記の検証違反があった場合、検証済みバッジは取り消されます。
対象ドメイン
対象ドメインは以下の基準を満たします。
- DNS設定を管理し、TXTレコードを追加できる必要があります。
- サブドメインではありません ({subdomain}.github.io, {subdomain}.contoso.comなど)。
- HTTPSプロトコルを使用する必要があります。
- HEADリクエストに対してHTTP 200ステータスで応答できる必要があります。
拡張機能の価格ラベル
拡張機能のマーケットプレイスページに価格ラベルを表示するように選択し、Free
またはFree Trial
であることを示すことができます。
価格ラベルを表示するには、package.json
にpricing
プロパティを追加します。例:
{
"pricing": "Free"
}
許可される値は: Free
とTrial
(大文字と小文字を区別)。pricing
プロパティが指定されていない場合、デフォルト値はFree
です。
価格ラベルが機能するように、拡張機能を公開する際はvsce
バージョン2.10.0
以上を使用してください。
拡張機能スポンサー
スポンサーシップを有効にすると、ユーザーがあなたの活動をサポートする方法を提供できます。
スポンサーリンクを表示するには、package.json
にsponsor
プロパティを追加します。例:
"sponsor": {
"url": "https://github.com/sponsors/nvaccess"
}
スポンサーシップが機能するように、拡張機能を公開する際はvsce
バージョン2.9.1
以上を使用してください。
スポンサーリンクは、マーケットプレイスおよびVS Codeの拡張機能の詳細ヘッダーにある拡張機能のページに表示されます。
これにより、ユーザーが依存する拡張機能に資金を提供し、拡張機能のパフォーマンス、信頼性、安定性を向上させられるようになることを願います。
.vscodeignore の使用
.vscodeignore
ファイルを作成すると、一部のファイルが拡張機能のパッケージに含まれるのを防ぐことができます。このファイルは、1行に1つのglobパターンを記述した集合です。例:
**/*.ts
**/tsconfig.json
!file.ts
ランタイムで不要なすべてのファイルを無視する必要があります。例えば、拡張機能がTypeScriptで記述されている場合、上記の例のようにすべての**/*.ts
ファイルを無視する必要があります。
devDependencies
にリストされている開発依存関係は自動的に無視されるため、明示的に追加する必要はありません。
公開前ステップ
マニフェストファイルに公開前ステップを追加できます。これは拡張機能がパッケージ化されるたびに呼び出されます。例えば、この段階でTypeScriptコンパイラを呼び出すことができます。
{
"name": "uuid",
"version": "0.0.1",
"publisher": "someone",
"engines": {
"vscode": "0.10.x"
},
"scripts": {
"vscode:prepublish": "tsc"
}
}
プレリリース拡張機能
ユーザーはVS CodeまたはVS Code Insidersで拡張機能のプレリリースバージョンをインストールし、公式の拡張機能リリース前に最新の拡張機能バージョンを定期的に取得できます。
プレリリースバージョンを公開するには、vsce package
またはvsce publish
コマンドに--pre-release
フラグを渡します。
vsce package --pre-release
vsce publish --pre-release
拡張機能のバージョンはmajor.minor.patch
のみをサポートしており、semver
のプレリリース版タグはサポートされていません。プレリリース版と通常版のバージョンは異なる必要があります。つまり、1.2.3
がプレリリース版としてアップロードされた場合、次の通常版は1.2.4
のような異なるバージョンでアップロードする必要があります。完全なsemver
サポートは将来的に利用可能になる予定です。
VS Codeは拡張機能を自動的に利用可能な最高バージョンに更新するため、ユーザーがプレリリースバージョンを選択し、より高いバージョンの拡張機能リリースがある場合でも、ユーザーはリリースバージョンに更新されます。そのため、拡張機能のリリースバージョンにはmajor.EVEN_NUMBER.patch
を、プレリリースバージョンにはmajor.ODD_NUMBER.patch
を使用することをお勧めします。例: リリースには0.2.*
、プレリリースには0.3.*
。
拡張機能の作者がプレリリース版のユーザーをリリース版に更新させたくない場合、リリース版を公開する前に常に新しいプレリリース版のバージョンをインクリメントして公開し、プレリリース版のバージョンが常に高くなるようにすることをお勧めします。プレリリース版のユーザーは、バージョンがより高いリリース版に更新されますが、リリース版よりも高いバージョン番号の将来のプレリリース版に自動的に更新される資格は引き続き保持されることに注意してください。
プレリリース拡張機能はVS Codeバージョン1.63.0
以降でサポートされているため、すべてのプレリリース拡張機能はpackage.json
内のengines.vscode
の値を>= 1.63.0
に設定する必要があります。
すでに独立したプレリリース拡張機能を持っている拡張機能は、古い独立した拡張機能の自動アンインストールを有効にし、メイン拡張機能のプレリリースバージョンをインストールするためにVS Codeチームに連絡する必要があります。
プラットフォーム固有の拡張機能
VS Codeが動作する各プラットフォーム (Windows, Linux, macOS) 用に、拡張機能のVSIXパッケージを公開できます。このような拡張機能をプラットフォーム固有と呼びます。
バージョン1.61.0
以降、VS Codeは現在のプラットフォームに一致する拡張機能パッケージを探します。
プラットフォーム固有の拡張機能は、拡張機能にプラットフォーム固有のライブラリや依存関係がある場合に便利です。これにより、プラットフォームパッケージに含まれる正確なバイナリを制御できます。一般的な使用例は、ネイティブNodeモジュールの使用です。
プラットフォーム固有の拡張機能は、プラットフォーム固有のコンテンツを含む個別のパッケージとして公開されます。--target
フラグを渡すことで、ターゲットプラットフォームを指定できます。このフラグを渡さない場合、そのパッケージはプラットフォーム固有のパッケージがないすべてのプラットフォームのフォールバックとして使用されます。
現在利用可能なプラットフォームは、win32-x64
, win32-arm64
, linux-x64
, linux-arm64
, linux-armhf
, alpine-x64
, alpine-arm64
, darwin-x64
, darwin-arm64
, およびweb
です。
プラットフォーム固有の拡張機能をWeb拡張機能としてブラウザで実行することもサポートしたい場合、公開時にweb
プラットフォームをターゲットにする必要があります。web
プラットフォームは、package.json
のbrowser
エントリーポイントを尊重します。web
でサポートされていない拡張機能の機能を無効にするには、Webプラットフォーム用に個別のpackage.json
を出荷したり、web
で動作しないVSIXの一部を削除したりする代わりに、package.json
でwhen
句を使用することをお勧めします。
公開
バージョン1.99.0
以降、vsceはVSIXのパッケージ化および公開中にターゲットプラットフォームを指定できる--target
パラメーターをサポートしています。
win32-x64
およびwin32-arm64
プラットフォーム向けにVSIXを公開する方法は次のとおりです。
vsce publish --target win32-x64 win32-arm64
あるいは、パッケージ化時に--target
フラグを使用してプラットフォーム固有のVSIXを作成することもできます。例えば、win32-x64
プラットフォーム用のVSIXをパッケージ化してから公開するには、次のようになります。
vsce package --target win32-x64
vsce publish --packagePath PATH_TO_WIN32X64_VSIX
継続的インテグレーション
複数のプラットフォーム固有のVSIXを管理するのは大変な場合があるため、継続的インテグレーション (CI) ツールを使用して拡張機能のビルドプロセスを自動化することをお勧めします。例えば、GitHub Actionsを使用して拡張機能をビルドできます。学習の出発点として、弊社のプラットフォーム固有の拡張機能サンプルを利用できます。そのワークフローは、サポートされているすべてのVS Codeターゲット間でネイティブNodeモジュールを依存関係として配布するためにプラットフォーム固有の拡張機能サポートを使用するという一般的なシナリオを可能にします。
次のステップ
- 拡張機能マーケットプレイス - VS Codeの公開拡張機能マーケットプレイスについて詳しく学びます。
- 拡張機能のテスト - 高品質を確保するために拡張機能プロジェクトにテストを追加します。
- 拡張機能のバンドル - webpackを使用して拡張機能ファイルをバンドルすることで、ロード時間を改善します。
よくある質問
拡張機能を公開しようとすると、「You exceeded the number of allowed tags of 30」というエラーが表示されます。
Visual Studio Marketplaceでは、拡張機能パッケージのpackage.json
に30個を超えるkeywords
を含めることはできません。このエラーを回避するには、キーワード/タグの数を最大30個に制限してください。
拡張機能を公開しようとすると、403 Forbidden (または401 Unauthorized) エラーが表示されます。
PAT (個人用アクセストークン) を作成する際によくある間違いの1つは、Organizations フィールドのドロップダウンでアクセス可能なすべての組織の代わりに特定の組織を選択することです。もう1つの可能性のある間違いは、スコープが正しくないことです。公開が機能するためには、認可されたスコープをMarketplace (Manage)
に設定する必要があります。
vsce
ツールで拡張機能を非公開にできません。
拡張機能IDまたはパブリッシャーIDを変更した可能性があります。Visual Studio Marketplace パブリッシャー管理ページから直接拡張機能を管理することもできます。例えば、更新したり、非公開にしたりできます。
なぜ vsce はファイル属性を保持しないのですか?
Windowsから拡張機能をビルドして公開する場合、拡張機能パッケージに含まれるすべてのファイルには、POSIXファイル属性、つまり実行可能ビットが欠落することに注意してください。一部のnode_modules
依存関係は、適切に機能するためにこれらの属性に依存しています。LinuxおよびmacOSからの公開は期待どおりに機能します。
継続的インテグレーション (CI) ビルドから公開できますか?
はい、Azure DevOps、GitHub Actions、GitLab CIを構成して拡張機能をマーケットプレイスに自動公開する方法については、継続的インテグレーショントピックの自動公開セクションを参照してください。
拡張機能を公開しようとすると、「ERROR The extension 'name' already exists in the Marketplace」というエラーが表示されます。
マーケットプレイスでは、拡張機能の名前がすべての拡張機能に対して一意である必要があります。同じ名前の拡張機能がマーケットプレイスにすでに存在する場合、次のエラーが表示されます。
ERROR The extension 'name' already exists in the Marketplace.
同じルールが拡張機能の表示名にも適用されます。
どのパッケージマネージャーがサポートされていますか?
拡張機能の依存関係を管理するには、npmまたはyarn v1を使用できます。
VS Marketplaceアカウントまたは拡張機能の公開に関するサポートが必要ですか?
パブリッシャーと拡張機能の管理にサインインし、右上にある「Microsoftに問い合わせる」リンクをクリックすることで、VS Marketplaceサポートチームに連絡できます。