LINK
- リポジトリ
-
拡張機能ファイル(vsix)
- コマンドパレットから
Extensions: Install from VSIX...
を実行してインストールできます。 - マーケットプレースへのアップロードは今の所考えてません。
- コマンドパレットから
作成の経緯
業務でGrowi.cloudというWikiプラットフォームを利用しているのですが、
マーケットプレースで頒布されている拡張機能では対応していないようで、
エラーが発生して利用できませんでした。
そこで、勉強がてら拡張機能の改造にチャレンジしようと発起しました。
環境構築
nodeがベースです。yo, generator-code, vsceというパッケージをnpmかyarnでインストールすればよいのですが、Docker環境で構築したところ結構ハマりました。
- rootユーザーだとパーミッションエラーが頻発するので、一般ユーザーを作って、sshでログインするように設定
- node v18だと
ERR_OSSL_EVP_UNSUPPORTED
が発生するので環境変数NODE_OPTIONS=--openssl-legacy-provider
を設定。vscodeのtasks.jsonにも同じ設定をしておかないとデバッグ実行時に同様のエラーが発生します。
コード修正
デバッグ実行して、一つ一つエラーを潰していきました。
APIのエンドポイントやレスポンスの構造に所々差異があったのがエラー原因でした。
あとは、URL連結処理といった細かい部分を手直ししました。
スクラッチで開発したわけじゃありませんが、大体の仕組みが掴めました。
想像していたよりも導入難度は低かったです。
今後、業務でちょっとした不便を感じた際に拡張機能の開発も視野に入れることができそうです。