【vscode】自作拡張機能をパッケージ化する
Visual Studio Codeで自作拡張機能をパッケージ化する方法のメモです。
拡張機能はできた。あとはパッケージ化するだけ。の人が対象です。
パッケージ化ツール vsce のインストール
以下のコマンドでvsceをインストールします。
npm install @vscode/vsce
Note: 以下でインストールできるvsceは最新バージョンがv2.15.0
までしかなく、古いものなので注意しましょう(後述の--skip-license
オプションが未実装だったりする)。
npm install vsce
Note: グローバルにインスコする場合は-g
オプションを付ければ可能です。
npm install -g @vscode/vsce
パッケージ化の実施
package.json
があるディレクトリに移動して、以下コマンドでパッケージ化できます。
npx vsce package
場合によってはいくつか警告(質問)が出ますが、y
と回答すればスルーできます。
% npx vsce package WARNING A 'repository' field is missing from the 'package.json' manifest file. Use --allow-missing-repository to bypass. Do you want to continue? [y/N] y WARNING LICENSE, LICENSE.md, or LICENSE.txt not found Do you want to continue? [y/N] y
同じディレクトリに拡張子がvsix
のファイルが生成されれば成功です。
vsceのおすすめオプション
おすすめオプション付きコマンドは以下です。
npx vsce package --allow-missing-repository --skip-license -o _releases/
--allow-missing-repository
:package.json
にリポジトリの設定ないけどええんか?の確認をスキップする(自動y
回答)。--skip-license
: ライセンスのファイルないけどええんか?の確認をスキップする(自動y
回答)。-o <dir_name>
: vsixを出力するフォルダを指定します。
余談:上記コマンドを覚えられない人
上記のコマンドを覚えられない人には、以下の選択肢があります。
- この記事をブックマークして見返す
メモ.txt
ファイルを作成して上記コマンドを貼り付けて保存して見返すpackage.json
のscripts
フィールドにパッケージ化のタスクを登録する
3つ目の方法は以下のようにします。
package.json
に以下を追加する。
"scripts": { "package": "vsce package --allow-missing-repository --skip-license -o _releases/" },
パッケージ化を実施したいときは、以下のコマンドを実行する。
npm run package
上記コマンドで登録したタスクが実行できます。
タスク実行するためのnpm run
コマンドすら覚えられない人は、左腕に刺青を入れましょう。
以上。