[[📒Productivityを上げるために大切な100のこと]] No68. 🥉 ---- コンピュータを使って文章やソースコードを書いたことのある人なら、誰しも補完(オートコンプリート)のお世話になったことがあるだろう。疑うことなく非常に便利な機能である。 ## オートコンプリートに求めるもう1歩 オートコンプリートは素晴らしい機能だが1つだけ不満点があった。**表示される候補の中から欲しいものを選択しなければならない**ことだ。 『何を言っているのか? それは当たり前だろう』と思うかもしれない。補完候補が定まっていない場合はたしかにそうだ。一方、**補完候補が自分の中で定まっているとき、それは無駄な時間なのだ。** ## 補完候補が定まっているとき 補完候補が定まっているときとはどういうときか。想定するシーンはいくつかある..が、私が最も多く遭遇するのは==入力したい文字列が視界に定まっているとき==だ。たとえば以下のソースコードがあったとする。 ```ts function sum() {} function summarize() {} function sumHogeAndHoge() {} function main() { // ここにカーソルがあるとする } ``` `main`関数の中で`sumHogeAndHoge`を呼び出したいとき、`sum`と入力して`sum`や`summarize`といった候補が表示されたら億劫だろう。『私は`sumHogeAndHoge`を入力したいと分かっているのに..!!』と思わずにはいられない。 ![[Pasted image 20211129133742.png]] こんなときは[[JetBrains IDE]]の[[Hippie completion]]が便利だ。 ## [[Hippie completion]] [[Hippie completion]]は、現在ファイルのカーソル位置から前方または後方に出現するワードを近い順に補完する機能だ。[[Hippie completion]]を使うとカーソル直前または直後で目に入ったワードを一瞬で入力できる。 ![[2021-11-29.gif]] デフォルトのショートカットキーは`Alt + /`だが、私は`Shift + Space`にしている。この辺は好みの問題なので押しやすいキーにするのがいいだろう。複数回キーを入力すると前または後ろの候補が次次と表示される。 また、[[VSCode]]を利用しているなら[[Simple Autocomplete]]を使うのがいいだろう。