前回の続き。リリース周りを深ぼってみる(*´ω`*)
公式ドキュメントはこのあたり
- Publishing Extensions | Visual Studio Code Extension API
- Bundling Extensions | Visual Studio Code Extension API
Azure DevOpsの組織作成
VS Code Extension Marketplaceへは、Azure DevOpsを使って公開するらしい
なので、まずは、Azureアカウントと組織を作成する
組織の作成方法は、以下のドキュメントに書いてある
Parsonal Access Tokenの発行
組織の一覧画面などを開き、右上のメニューから
「Personal access tokens」を選択
Nameなどの項目を入れて、PATを作成する
このとき、パーミッションは、「Marketplace」の「Manage」を選択
Publisherの登録
Azure DevOps側の設定が終わったら、VSCode Marketplace側の設定をする
vsceの設定/リリース
パッケージやリリースには、vsce
というCLIをつかうよう
// インストール $ npm install -g @vscode/vsce // 登録したpubliserのIDでログイン $ vsce login <publisher_id> // パッケージング(.vsixファイルが必要な場合) $ vsce package // リリース $ vsce publish
手動でリリースしない場合は、.vsix
ファイルが不要なので、
vsce publish
だけでOK。ビルドもしてくれる
pnpmの場合
pnpmだと依存関係チェックが失敗するらしい
pnpm vsce package --no-dependencies
でチェックしないようにすればOK
// インストール $ pnpm add -D @vscode/vsce // 登録したpubliserのIDでログイン $ pnpm vsce login <publisher_id> // パッケージング(.vsixファイルが必要な場合) $ pnpm vsce package --no-dependencies // リリース $ pnpm vsce publish --no-dependencies
もしくは、package.jsonに以下の設定を追加すればOK
{ "vsce": { "dependencies": false // --no-dependenciesと同様 }, }
リリースの取り消し(unpublish)
マーケットプレイスの管理画面からUnpublishできる
また、拡張機能自体の削除(remove)もここから可能
deprecateとかもできるっぽい
マーケットプレイスに表示される情報
package.json
内のマーケットプレイスに表示される設定
必要な箇所はこのあたり。
作った拡張機能での表示はこちら
{ // extensionのid "name": "sortable-explorer", // extensionのversion "version": "0.2.3", // publisherのid "publisher": "memorylovers", // マーケットプレイスで表示する名前 "displayName": "Sortable Explorer", // マーケットプレイスで表示する説明 "description": "Sortable Explorer", // マーケットプレイスで表示するアイコン: 256px or 128px以上の正方形のpng "icon": "resources/icon.png", // マーケットプレイスでのカテゴリ "categories": [ "Other" ], // リポジトリ。マーケットプレイスでも表示 "repository": { "type": "git", "url": "https://github.com/memorylovers/sortable-explorer" }, // スポンサーの受付リンク。マーケットプレイスでも表示 "sponsor": { "url": "https://github.com/sponsors/memory-lovers" }, // マーケットプレイスで、Previewと表示するかどうか "preview": false, }