Umi Uyuraのブログ

プログラミング関連の作業ログ

DevToysのツールを呼び出すFlow Launcherプラグインを作った

開発者のスイスアーミーナイフこと DevToys のツールを呼び出す Flow Launcher 用のプラグインを作りました。

umi-uyura/Flow.Launcher.Plugin.DevToysLauncher

以前作ったデスクトップ掃除プラグインに続いて、2つ目のFlow Launcherプラグインです。

umi-uyura.hatenablog.com

DevToysとは

DevToys は、ソフトウェアの開発中によく発生するちょっとした作業のためのさまざまなツールが詰まった、まさに十徳ナイフのようなアプリケーションです。

2022/12/18の時点では、以下のような27種類のツールがあり、今後も追加されていくようです。

ツール名 日本語名
JSON <> YAML JSON <> YAML 変換ツール
Unix Timestamp Converter Unix タイムスタンプ変換
Number Base Converter 基数変換ツール
Cron Parser Cron パーサ
HTML Encoder/Decoder HTML エンコーダー / デコーダ
URL Encoder/Decoder URL エンコーダー / デコーダ
Base64 Text Encoder/Decoder テキスト向けの Base64 エンコード / デコードツール
Base64 Image Encoder/Decoder 画像向けの Base64 エンコード / デコードツール
GZip Encoder/Decoder GZip を利用した文字列の圧縮と展開
JWT Encoder/Decoder JWT エンコーダー / デコーダ
Json Formatter JSON フォーマッター
SQL Formatter SQL フォーマッター
XML Formatter XML フォーマッター
Hash Generator ハッシュ生成ツール
UUID Generator UUID 生成ツール
Lorem Ipsum Generator Lorem Ipsum (ダミーテキスト) 生成ツール
Checksum File チェックサム生成
Text Escape / Unescape テキストのエスケープと解除
Text Case Converter & Inspector 文字列の検査と変換
Regular Expression Tester 正規表現テスター
Text Comparer テキスト比較ツール
XML Validator XML の検証
Markdown Preview Markdown プレビュー
Color Blindness Simulator 色覚異常シミュレーター
Color Picker & Contrast カラーピッカーとコントラスト
PNG / JPEG Compressor PNG / JPEG 最適化
Image Converter 画像フォーマット変換

ひとつひとつは単発のコマンドだったり、そういった機能を提供するウェブサイトを使ったりすることがありますが、まとまっていることで新たに探す必要がなくなるのと、ローカルで使えるというのもメリットかなと思います。

個人的には、Unixタイムスタンプ変換や、日本語を含んでいるURLの内容を把握するために「URL Encoder/Decoder」でデコードしたり、といったあたりをよく使っています。

DevToys Launcherプラグイン

DevToysには機能がたくさんあるのは良いことなのですが、アプリを起動してから目的のツールを使うためにはメニューから選んでいかないといけない点が少々面倒くさいところでした。

DevToysの画面

お気に入りや起動時に開くツールを設定するピンどめという機能はあるものの、どうせならダイレクトに目的のツールを開きたいなと考えていたところ、DevToysのリポジトリコマンドラインで指定のツールを直接開く 方法が載っていることを発見したので、それを元にFlow Launcher上から呼び出すプラグインを作ることにしました。

インストール

使いたいときは、Flow Launcherのウィンドウで

pm install devtoys launcher

と打ち込めばインストールできます。

また、DevToysアプリ自体がインストールされている必要がありますので、 Microsoft Store などからインストールしてください。

使い方

Flow Launcherのウィンドウで dtoys と打ち込むと、呼び出せるツールが一覧表示されるので選択するだけです。

DevToys Launcher実行例

さらに文字を入力することで、ツールを絞り込むこともできます。

日本語化

ツール名はデフォルトでは英語表記としていますが、設定を変更することで日本語表記にすることもできます。

設定変更は画面ではなく、プラグインのプログラムがあるフォルダにある設定ファイルでおこないます。

Flow Launcherのウィンドウに flow launcher userdata と打ち込んで実行すると、Flow Launcherのユーザーデータフォルダがエクスプローラで開かれますので、その中の Plugins\DevToys Launcher-1.0.0\.env が設定ファイルです。( 1.0.0 はバージョン番号なので、今後は変わるかもしれません)

メモ帳などで .env を開いて、 local=en の部分を local=ja に書き換えると、以降の呼び出し時にはツール名が日本語で表示されます。

DevToys Launcherの実行例(日本語表示)

DevToysの他プラットフォーム展開

DevToysは今のところWindows版のみの提供ですが、クロスプラットフォームで使えるようにする計画が進行中なもよう。ただ、まだしばらく時間がかかりそう。

Suggestion: Cross-platform UI (Windows, MacOS, Linux) · Issue #156 · veler/DevToys

macOS向けには独自に開発されている人がいたので、興味ある人は使ってみてください。

ObuchiYuki/DevToysMac: DevToys For mac