Open12

Zenn VSCode Web拡張のプルリクエスト開発ログ

PADAone🐕PADAone🐕

機能アイデア

執筆時の編集機能

リンクのドラッグ&ドロップ

ツリービューからドラッグ&ドロップでマークダウンリンクやhttps形式のリンクを編集中のファイルに挿入できる機能。本作成時に多数のチャプターがある場合に、別のチャプターを参照したい場合がよくあるので、編集プロセスがスムーズになる。

本から別の本のチャプターを参照したいときの、リンク条件を調べる。
ユーザー名の文字列が設定として必要になる可能性がある。

PADAone🐕PADAone🐕

ファイルリビール機能のプロトタイプ作成

issue

機能: ツリービューを開いているときにアクティブファイルが記事ファイルやチャプターファイルなら、ツリービュー上のアイテムをハイライトするようにする機能

背景: チャプターファイルが大量にあると現在開いているファイルが本全体のどこにあるものなのかを確認したい場合がある。また、アクティブファイルとツリービューの視覚的関係性を強固にすることで通常のエクスプローラーのユーザビリティに近づけることができると思う。

状況: config.yaml とチャプター、記事についての監視はできるので、reveal機能のコード自体はほぼ完成、コードクリーンとコメントの整理が必要。実装が思ったよりも難しかった。全体が仕上がったのでPR作成済み。

PR

https://github.com/zenn-dev/zenn-vscode-extension/pull/81

PADAone🐕PADAone🐕

画像ファイルを開いたときの問題点

画像プレビューはカスタムエディタ(WebView)として扱われ、グローバルにアクティブなWebViewの変更を監視するAPIは意図的に公開されていないとのこと。各プラグインごとで WebView のパネル変更を監視する onDidChangeViewState API は提供されている。
https://github.com/microsoft/vscode/issues/95977#issuecomment-618684968

したがって、画像ファイルについてはtreeItemのrevelが技術的に困難

画像プレビュー自体を拡張の WebView にすれば監視が可能。

Hidden comment
PADAone🐕PADAone🐕

双方向スクロール同期の機能

動くけど原理が深くまで理解できていない、コード変更量が大きくなりすぎるので、PRとして出すのはやはり難しいかもしれない(適切ではない状態)
MIT ライセンスのコードをどこまで含めていいのか

PADAone🐕PADAone🐕

setting manager

設定で機能調整できるようにしたいが設定の読み込みをどこかでマネージメントする仕組みが必要になりそう

設定をどこで読み込ませて、変更時にどのように更新するのかみたいな問題がでてきそう。