くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

VSCode拡張機能の開発入門 | その4 リリース

前回の続き。リリース周りを深ぼってみる(*´ω`*)

公式ドキュメントはこのあたり

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)もここから可能

unpublish

deprecateとかもできるっぽい

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,
}

参考にしたサイト様