ほりひログ

所属組織の製品 (Azure とか) に関連する内容が多めだけど、個人の見解であって、所属組織を代表する公式情報ではないです。

Text Blurrerを更新した

まずは近況。

訳あって5月いっぱいは暇してる予定。
面白そうなことがあれば出向くので、お誘いください。

本題

閑話休題

こちらのQiitaの記事に拡張機能を載せてもらった。

qiita.com

そのおかげで順調にユーザー数が増えている。
ありがたいことです。

Text Blurrer
Azure Portal Plus

そんなユーザーが増えている中、Text Blurrerのコードを割と大きく修正した。

きっかけはインライン要素のホワイトスペース処理の不具合。
これを直そうとしたらなかなか厄介で、今までの実装を修正する形では対応しきれなかったので、抜本的にコードを修正した。

ついでに正規表現の先読みアサーション(後読みアサーション)を使ったボカシもできるようにした。

正規表現アサーションについてはコチラ。 developer.mozilla.org

これまでのバージョンだと、設定のUIからアサーションを使った正規表現自体を入れることができなかった。
もっとも設定できたとしてもボカシの処理ロジックとして、アサーションに対応してなかった*1

今回バージョンアップでこのアサーションも処理できるようにした。
これを使うと、例えば下のスクショのように、"API_KEY="に続く文字列をボカすことができる。


以下、余談。

今更ながら、上のスクショのようにvscode.devgithub.devGitHub Codespacesでもこの拡張機能が動くことに気づいた。
これらもWebブラウザーで動いているので、当たり前と言えば当たり前なんだけど。
これでプロジェクトを開くとプロジェクト内の設定ファイルの中に見せたくない文字列があっても、それをボカすことができる。

ただGitHub Codespacesのターミナル内のテキスト、コマンドの出力結果はボカせないので、使う時は要注意*2

これらのサイトもVSCodeも同じMonacoベースのはずなので、VSCode拡張機能として仕立てられないか考えたけど、CSSのfilterをいじるAPIが見つからないので難しそう。


その他の追加

いくつか機能を追加したけど、正直なところ全部自分が開発/デバッグしている中であると欲しくなった機能。
なので自分以外の需要がないかもしれない。

除外URLパターンリスト

拡張機能を適用しないURLパターンを設定できるようにした。

コンテキストメニュー

Webページ内の選択キーワードを直接追加する。

ショートカットキー

Popupウィンドウにショートカットキーを付けてみた。
とりあえず2つ。

  1. Ctrl / + s: 「apply」ボタンを押すのと同じ。
  2. Shift + Alt + f: テキストエリアのフォーマッティング(空白行を消すだけ)

以上がText Blurrerの不具合修正/機能追加の詳細。

上に書いた通り、結構なコード変更があったので、今まで動いていたものが動かなくなる不具合が入った可能性もあるので、見つけたら issue あげてほしい。
https://github.com/horihiro/TextBlurrer-ChromeExtension/issues/new
その時に、うまく動かないサイトのURLとぼかしたいキーワードをセットでもらえると調査が捗る。

*1:そもそも根本的な問題は、自分がアサーション自体を全然わかってなかったこと

*2:ターミナル部分はxterm.js(https://github.com/xtermjs/xterm.js/)で作られていて、Canvasにテキストを描いているので、どういうテキストが書かれているのか外部からチェックするのが難しい