AndroidStudio / VSCodeでコード補完の候補がGithubCopilotに取られて表示できない場合の対処法
Copilotのコード補完の候補が優先されてしまい、Android Studio / Visual Studio Codeのコード補完が出せない問題を解決する方法
問題
Android Studioでメソッドやプロパティをコード補完の候補から選択したい場合があります。
Container(alignment: Alignment.center);
例えば、上記のContainerのalignmentを設定する場合、
「Alignment」と入力し、更に「.(ドット)」を入力した時点で、
centerなのか、topLeft〜bottomRight(左上から右下)までの候補など、
Alignmentが持つプロパティやメソッドの候補が出てくると思います。
しかしながら、Github Copilotを導入したことにより、上記の入力中のどこかのタイミングで、Alignment.centerなど固定で候補が出て、Tabキーで確定させることができるようになりました。
それにより、その後centerを直したいので「.center」の部分を削除し、「.(ドット)」を入力し直したとしても、「.center」が候補に出てきてしまい、従来のコード補完ができなくなってしまいます。
Github Copilotのコード補完は「Esc」キーでキャンセルできるのですが、キャンセルした後に「.(ドット)」を入力し直したとしても同様にGithub Copilotの候補が優先されてしまいます。
尚、ちなみにOSはMacで、実際に試したのはAndroid Studioですが、Visual Studio Codeを使用している人も同様かと思います。
以下の画像も同様に、MainAxisAlignmentを指定する際に、Github Copilotのコード補完が優先されてしまったケースです。
解決方法
試したこと
Android Studioの従来のコード補完をショートカットで呼び出すことを考えます。
実際、Android Studioのメニューの [Code] の [Code Completion] の [Basic] を実行すると、従来のコード補完により候補が表示されます。
したがって、ここにあるとおり、[Ctrl] + [Space]のショートカットで呼び出せそうです。
しかしながら、[Ctrl] + [Space]を実行してもショートカットは呼び出されません。
原因
[Ctrl] + [Space]で従来のコード補完が実行できないのは、Macのシステムとしてのショートカットに[Ctrl] + [Space]が既に割り当てられてしまっていて、それが優先されてしまうためのようです。
したがって、この問題はAndroid Studioだけでなく、VSCodeを使用している人も同じ問題に陥るはずです。
ここで解決方法が2案できました。
解決編
Github Copilotのコード補完が優先されて出るのは、Copilotを導入していることから意図したものであるとしてよいと思います。
ですので、Android Studioの従来のコード補完をスマートにできるよう、ショートカットでできるようにすることが問題解決になるかと思います。
そのためには、システムのショートカットを無効化するか、現状機能しないショートカットの割り当てを変更するかのどちらかの対応ができます。
- アップルメニューより [システム設定] を選択し、サイドバーで [キーボード] をクリックします。
- 右側の [キーボードナビゲーション] の下の [キーボードショートカット...] をクリックします。
- サイドバーで [入力ソース] をクリックします。
- [前の入力ソースを選択] のショートカットが「⌃スペース」になっていることを確認して、チェックを解除
- [完了] をクリックします。
これで、Android Studio / VSCodeのショートカットが効くようになるかと思います。
これにより、日本語、英数の入力ソースの切り替えがショートカットでできなくなってしまいますが、普段使っていない人にとっては問題にならないかと思います。
また、「デフォルトに戻す」のボタンもあるため、いつでも戻せる安心感もありますね。
- Android Studioのメニューより、 [Android Studio] - [Settings...] をクリックします。
- サイドバーの [Keymap]をクリックし、右側の [Main Menu] - [Code] - [Code Completion] を選択します。
- [Code Completion] の下の [Basic] の割り当てに「⌃スペース」があることを確認します。
- [Basic] をダブルクリックし、[Add Keyboard Shortcut] をクリックします。
- 追加したい任意のショートカットを入力して、[OK] をクリックします。
- 追加したショートカットが表示されていることを確認し、[OK] をクリックします。
これで、新たに追加したショートカットでコード補完の候補が表示できるようになるかと思います。
Github Copilotと共存できるか不安でしたが、
これで、無事ショートカットにより、従来のコード補完で候補が表示できるようになりました。