自分はメインのエディタとしてZed(https://zed.dev/)を使っています。キビキビ動くところや、Vimのサポートが充実していることなど、Zedの良いところはたくさんあるのですが、自分が一番気に入っているのがMulti Bufferと呼ばれる検索機能です。
この機能は、複数のファイルやバッファを同時に検索し、結果をまとめて表示することができます。動画のように Zedだと g/
+ 検索ワード + enter + hjkl
+ g+space
といった具合にキーボードから手を離すことなく目的のコードをすばやく検索することができます。コードを頻繁に検索する自分にとっては欠かせない機能です。
一方で、最近はClineやCursorなどのVSCodeベースのAI支援エディタを使うケースも出てきました。この際に非常にストレスなのがこのコード検索です。
この見やすいとはいえない検索ビューにマウスカーソルを持っていき、ひとつひとつチェックするという作業がもうちょっとなんとかならないものかと模索してみたところ、settings.jsonをいじることである程度実現できることがわかったので、同じような思いを持っている人のために共有します。
まず、検索方法を変更します。VSCodeには左側のサイドバーから検索する方法と、Search Editorを使う方法があり、Search Editorを使う方法を採用します。
cmd + shift + pで "Preferences: Open Keyboard Shortcuts(JSON)" を開き、以下を追加します。
[ ..., //一番最後に追加 { "key": "shift+cmd+f", "command": "search.action.openNewEditor" }, ]
"shift+cmd+f"は通常左ペインに検索窓を表示するコマンドです。それに対してSearch Editorを割り当てます。一番最後に追加することで、そのショートカットを上書きできます。
次に、 cmd + shift + p から "Preferences: Open Settings(JSON)" を選択します。
そして、以下の設定を追加します。
{ ..., "search.mode": "reuseEditor", "search.searchEditor.focusResultsOnSearch": true, "search.searchOnType": false, }
"search.mode": "reuseEditor"
: 検索するたびに同じSearch Editorを再利用します。"search.searchEditor.focusResultsOnSearch": true
: 検索結果が表示されたら、結果を自動的にフォーカスします。これで、検索後に Search Editor にフォーカスを手動で移す手間がなくなります。"search.searchOnType": false
: エンターを押さないと検索できないようにします。focusResultsOnSearch
が trueの状態だと、自動的に検索が走るたびにフォーカスが動いてしまうので、その対策です。
変更後
いい感じで検索できるようになりました。副次的な効果として、通常の検索よりも若干速い(テキストベースだから?)気がします。
最後に自分が設定している setting.json をシェアします。