動機
vscodeの機能拡張は--list-extensionsオプションで一覧出力できます。
% code --list-extensions
AzureADB2CTools.aadb2c
bencoleman.armview
bmewburn.vscode-intelephense-client
esbenp.prettier-vscode
formulahendry.dotnet-test-explorer
GitHub.remotehub
k--kato.docomment
機械的には十分なのですが、人間的にはどれがなんだかわからないので、Visual Studio Marketplaceに問い合わせて、見やすい名前を出力するようにしました。
完成品の結果
こんな感じに出力されます。
% ./list-code-extensions.sh
# Azure AD B2C
Azure AD B2C custom policy extension
https://marketplace.visualstudio.com/items?itemName=AzureADB2CTools.aadb2c
# ARM Template Viewer
Graphically display ARM templates in an interactive map view
https://marketplace.visualstudio.com/items?itemName=bencoleman.armview
# PHP Intelephense
PHP code intelligence for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client
# Prettier - Code formatter
Code formatter using prettier
https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
Qiitaへ貼るとこんなんです。
作ったもの
curlとjq呼んでいるだけなのです。
#!/bin/bash
set -eu
generate_request()
{
cat << EOT
{"assetTypes":null,"filters":[{"criteria":[{"filterType":7,"value":"${1}"}],"direction":2,"pageSize":100,"pageNumber":1,"sortBy":0,"sortOrder":0,"pagingToken":null}],"flags":103}
EOT
}
query_market()
{
curl -s \
-H "Content-Type: application/json" \
-H "Accept: application/json;api-version=6.1-preview.1;excludeUrls=true" \
-X POST \
--data "$(generate_request $1)" \
"https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery"
}
make_pretty()
{
query_market "$1" \
| jq -r '.results[0] | .extensions[0] | "# "+.displayName,.shortDescription'
}
env code --list-extensions | while read id
do
make_pretty "$id"
echo "https://marketplace.visualstudio.com/items?itemName=${id}"
echo
done
使い方
適当な名前(例えば、list-code-extensions.sh)で保存し、実行属性をつけて実行してください。
./list-code-extensions.sh
↧