見出し画像

覚えきれないショートカットを検索して実行!Raycast 拡張機能を自作した

前回、前々回と Raycast の使い方を紹介してきました。

今回は Raycast の拡張機能を自作した話です。
作ったのは Run Shortcut という、キーボードショートカットを名前で検索して実行できる拡張機能です。

作ったきっかけは、ショートカットが多すぎて覚えきれないから

普段から色々なアプリを使っていると、アプリごとにショートカットキーがどんどん増えていきます
よく使うものは手が覚えていますが、たまにしか使わないショートカットはすぐに忘れてしまいます。
結局、メニューバーから探したり、マウスでポチポチやる羽目になり、これだと、ショートカットの意味がないですよね。

実は、Raycastの拡張機能で解決できる場合も多いです。
というのも、Raycastの拡張機能で対応しているアプリであれば、それを使ってコマンド操作を行うことは可能です。

しかし、すべてのアプリが拡張機能に対応しているわけではありません。
また、運良く対応していたとしても、提供されているコマンドは主要な機能に限られることが多く、自分が割り当てたいニッチな操作や特定の機能まではカバーされていないケースも多々あります。

そこで、あらかじめショートカットを登録しておけば、あらゆるアプリのショートカットをRaycastから検索・実行できるコマンドを自作することにしました。
ショートカットキーそのものを覚えるのではなく、やりたいことの名前で検索して実行できます。
名前さえ付けておけば、キーの組み合わせを覚える必要がなくなります。

ショートカットキーを直接押す、というのが、操作の速さだけで言えばもちろん最速です。
ですが、あくまで使用頻度が低いもの操作が対象なので、検索して確実に実行できる方が、トータルでは効率的だと思いました。

Raycast はランチャーとして検索が得意なので、この仕組みを拡張機能として作ってみることにしました。

Run Shortcut の仕組み

できること

Run Shortcut では、2つのことができます。

  • ショートカットの登録(Create Shortcut)

  • ショートカットの検索と実行(Search Shortcuts)

登録するときは、ショートカットに好きな名前を付けて、どのアプリのショートカットか、どのキーの組み合わせかを入力します。

実行するときは、Raycast の検索バーに名前を入力するだけです。一覧から選んで Enter を押すと、そのショートカットが実行されます。

Search Shortcutsの画面

登録の流れ

Raycast から Create Shortcut を起動すると、登録フォームが開きます。

Create Shortcutの画面

入力する項目はこの通りです。

  • Name:ショートカットの名前(自分がわかりやすいものを自由に)

  • App:どのアプリのショートカットか(ドロップダウンから選択)

  • Global:ON にすると、アプリを切り替えずに今のアプリのままキーを送信できる。

  • Modifiers:⌘ / ⇧ / ⌥ / ⌃ の中から使うものを選択

  • Key:実際に押すキー(a, b, 1, space, enter など)

  • Description:メモや説明(任意)

App の選択は、手入力ではなくドロップダウン方式にしています。
起動中のアプリとインストール済みのアプリが一覧で表示されるので、そこから選べます。

App ドロップダウンの展開

実行の流れ

Search Shortcuts を起動すると、登録済みのショートカットがアプリごとにグループ分けされて表示されます。

検索バーにキーワードを入力すると、名前やアプリ名で絞り込めます。
実行したいショートカットを選んで Enter を押すだけです。

アプリごとのショートカットの場合は、まずそのアプリに自動で切り替わり、その後キーストロークが送信されます。
Global に設定したショートカットの場合は、今開いているアプリにそのままキーが送信されます。

工夫したポイント

アプリ別にグループ分け&アプリアイコンで一目でわかる

ショートカット一覧では、アプリ別にグループ分けがされています。
また、アプリのアイコンが各項目の左に表示されます。
これにより、テキストだけの一覧より、どのアプリのショートカットか一目で判断できるようになっています。

現在のアプリが先頭に来る

ショートカットの一覧は、今アクティブになっているアプリのグループが一番上に表示されます。例えば Arc を使っているときに Search Shortcuts を開くと、Arc のショートカットが先頭に来ます。

よく使う場面では、検索すら不要でそのまま選んで実行できます。

アプリ選択はドロップダウン

先述したとおり、ショートカットを登録するときのアプリ選択は、自由入力ではなくドロップダウンにしています。

起動中のアプリが上に、インストール済みのアプリがその下に表示されます。アプリ名のスペルを間違えてショートカットが動かない、という問題を防いでいます。

セットアップ

ソースコードは GitHub で公開しています。興味のある方は自分の環境で試すこともできます。

インストール手順

まず、上のリンクから GitHub のページを開き、緑色の Code ボタン → Download ZIP でダウンロードします。

Code ボタンから Download ZIP

ダウンロードした ZIP を展開したら、ターミナルで展開したフォルダに移動して以下のコマンドを実行します。

npm install && npm run dev

npm install は必要なファイルをダウンロードするコマンド、npm run dev は拡張機能を Raycast に登録するコマンドです。
これだけで Raycast から使えるようになります。

アクセシビリティ権限の許可

この拡張機能は macOS のアクセシビリティ機能を使ってキーストロークを送信しています。そのため、初回起動時に Raycast にアクセシビリティ権限を許可する必要があります。

システム設定 → プライバシーとセキュリティ → アクセシビリティ の中にある Raycast を ON にしてください。

この許可がないとショートカットの実行ができないので、忘れずに設定してください。

おわりに

使用頻度の低いショートカットキーを覚えるのが大変で作った拡張機能ですが、使ってみると想像以上に快適でした。

特にたまにしか使わないショートカットを、調べ直すことなくサッと実行できるのが気に入っています。

Raycast の拡張機能を自作するのは今回が初めてでしたが、やりたいことをそのまま形にできるのは楽しい体験でした。
もし同じように、ショートカットの多さに困っている方がいたら、参考になれば嬉しいです。


最後まで読んでいただき、ありがとうございます😊
スキ、コメント、フォローお願いいたします!

いいなと思ったら応援しよう!

この記事が参加している募集