Shion のもくログ(旧: Shion の技術メモ)

使った技術のメモや、うまくいかなかった事とかを綴ります

PR

2022/11/19 ~ 2022/11/25 のもくもく日記

もくもく 前回までは

2022/11/12 ~ 2022/11/18 のもくもく日記 をご覧ください。

途中経過

その1

自作VSCode 拡張機能、何故かブレークポイントがうまく動かないorz

……設定合っているはずなんだけどな🤔

VSCode 拡張機能開発、別のところで色々詰まる。設定ミスっている気がするけど思いつかん……

・yo code 直後の構成でデバッグして、ブレークポイントで止まるかどうか  ↪︎ macOS: 🙅  ↪︎ WSL: 🙅 ・実装追加後にデバッグして、実装したコマンドが呼べるか  ↪︎ macOS: 🙆  ↪︎ WSL: 🙅

macOS で作業していて、ふと思ったのだけど、VSCode でWSL にあるフォルダー開く時に、ちゃんと信頼済みにしたっけ?

もしかしてフォルダーの信頼設定が原因だったりして(後で試す💪)

その2

雑にPromise .all() を使ってしまうので、ぶっちゃけ合っているかよく分からん……のでどこかで勉強したいかもw

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Promise/all

その3

Webpack でファイルコピーしたい場合は、このプラグイン使うと感じみたい👀

https://webpack.js.org/plugins/copy-webpack-plugin/

その4

VSCode 拡張機能WebView からacquireVsCodeApi() 使ってVSCode 側にイベントを発行したら、そのあとWebView の操作が出来なくなってしまったorz

……原因は何度もacquireVsCodeApi() をコールしているからだった。1度だけコールするようにしたら直ったw

その5

VSCode 拡張機能WebView からacquireVsCodeApi() 使ってVSCode 側にイベントを発行したら、そのあとWebView の操作が出来なくなってしまったorz

……原因は何度もacquireVsCodeApi() をコールしているからだった。1度だけコールするようにしたら直ったw

https://pugjs.org/api/getting-started.html

その6

自作VSCode Web Extension でHTTP 通信したいのだけど、さてどうしよう🤔

・WebView のHTML からfetch API 使って投げる  → CORS...... ・拡張機能から投げる  → Node のhttp(s) API or browser のfetch API のどっちなんだろ?

いい感じに切り替えてくれるライブラリ探すか💪

(ゆうて、axios くらいしか思い付かないw こういう時Angular はまるっと提供してくれるから便利w) https://github.com/axios/axios

axios でget 投げてみたのだけど、無限にNetwork error が返ってくる……

その7

とりま自作VSCode Extension で下記のサンプルを作ってみた

・html, yaml を梱包する ・yaml から設定値を読み込んで、それをWebView に表示しているHTML へ反映する ・HTML で発生したイベントをVSCode に流す

これで色々やれるはずw

その8

自作VSCode のWebView にそれっぽく表示できるようになったのだけど、他のコンテンツを表示するなどして、そのWebView が非活性になった時の表示が変になってしまう(てか、何も表示されん)orz

あと何を修正すればいいんだっけ🤔

その9

gitignore ルールを考慮して、フィルタリングしてくれそうなnpm👀

https://github.com/kaelzhang/node-glob-gitignore

その10

世のVSCode 拡張機能ってどうやってgit 操作しているのかなと思って調べたら、VSCode ビルトイン拡張機能のgit を呼び出している感じだったw

すっきり腑に落ちたw

https://code.visualstudio.com/api/references/vscode-api#extensions

その11

自作VSCode 拡張機能で、WebView からpostMessage 使ってVSCode にデータ投げたら、エラーが出まくってハマった

……オブジェクトをそのまま渡していたのが原因だった。JSON stringify でstring にしてから投げて、受け取り側でparse すれば回避できた😆

もう一つ思い出した。ブラウザでも使えるVSCode 拡張機能を作っていたのだけど、VSCode の統合ターミナルを呼び出したら、元気よく"NotSupported" って返って来て困ったw

私の嫌いな言葉ですw

この話題が該当するかな🤔 ちょっと分かりづらいかも……

https://github.com/microsoft/vscode/issues/101857

今回の進捗

※関連SNS
PR