サムネイル|コマンドパレットの例(Visual Studio Code) コマンドパレットは、ソフトウェアにおけるコマンド(命令や指示といった操作)を検索ボックスから直接実行できるようにするユーザインターフェース。コマンドは検索できるようインデックス化され、検索ボックスと提案リストを備えたウィンドウから増分検索、あいまい検索、または最近使用したコマンドや頻繁に使用するコマンドのリストを使用し、コマンド名を指定してすぐにコマンドを呼び出すことができる。
概要 コマンドパレットは などのキーボードショートカットで開くことができるよう、キーボード操作に特化して使用できる。コマンドのラベルは、それぞれのショートカットや標準的なメニュー位置を補足する役割を果たすが、コマンドパレットはそれらの代替手段としても使用できる。パレットには、グラフィカルユーザインターフェースの他の場所では公開されていないコマンドが含まれる場合がある。また、パレットは拡張可能である。
コマンドパレットを備えたアプリケーションには、Visual Studio Code、Zed、Obsidianなどがある。
VS CodeやZedでは Discordでは
コマンドパレットインターフェイスは、Raycastなどのオペレーティングシステム用のスタンドアロンユーティリティソフトウェアでも使用されている。
歴史
黎明期 初期のコンピュータ(1970年代)はコマンドライン環境(CLI)が主流であったが、1980年代に入るとマウスでメニューをクリックするグラフィカルユーザインターフェースが普及し、初心者でも直感的に操作できるようになった。その一方、機能が増えるにつれて「メニューの奥深くに機能が埋もれて見つけられない」という問題が発生するようになり、対策も合わせて求められることになった。
「コマンドパレット」の誕生 現代におけるコマンドパレットの大きなきっかけとなったのは、2011年にリリースされたテキストエディタ「Sublime Text 2」である。開発者のジョン・スキナーは、まずプロジェクト内のファイルを検索して移動する機能「Goto Anything」を実装した(ショートカット:Ctrl+P / Cmd+P)。その利便性を拡張する形で生まれたのが「Command Palette」(ショートカット:Ctrl+Shift+P / Cmd+Shift+P)であった。
普及 Sublime Text 2はメニューには含まれていない、ショートカットキーのない多数の機能も検索によって呼び出すことができ、GUI環境で難しかった「メニューの奥深くに機能が埋もれて見つけられない」問題を解消することに成功した。また、検索時に多少の打ち間違いがあっても許容する「あいまい検索(Fuzzy Matcher)」も実装されていたことで、快適な操作体系が生み出され、主にプログラマーを中心に高い支持を得るに至った。
その後、2015年に登場したVisual Studio Codeでは、Sublime Text 2と同じキーバインド(Ctrl+Shift+P または F1)でコマンドパレットを中核機能として採用したことで、多くの開発者に利用されるに至った。
また、ビジネス向けのコミュニケーションツールである「Slack」にも「Quick Switcher」(Ctrl+K / Cmd+K)を導入したことで、テキストエディタだけでなく、広く一般でも「パレット」によるメニュー移動が利用されることになった。
近年ではmacOSにおけるSpotlightなど、オペレーティングシステムで従来は主にファイルの検索に利用していたデスクトップ検索にも、コマンドパレットが統合されている。Windowsでも「PowerToys」において、従来のアプリランチャーを発展させた本格的な「PowerToys Command Palette」を導入し、OSの機能、ファイル検索、Web検索などを1箇所で統合管理できる環境を提供しており、アプリケーションだけではなく、OSにも一般化が進んでいる。
参照