概要
前から、社内でCopilotの布教活動の意味を込めて、 https://ai-native-development.gitbook.io/docs/v/ja/ を試しているところを社内に配信しています。
動かなかったものがあったので、その原因と対策です。実質的に、VSCodeのショートカット設定の話になります。
動作した/しなかったショートカットの分類
当方、Mac Userです
- 動作した
- 提案を受け入れる:
TAB
- 提案を拒否する:
Esc
- 複数の提案を表示する:
Ctrl
+Enter
- 提案を受け入れる:
- 動作しなかった
- 単語レベルで受け入れる:
Ctrl
+→
- 次の提案を見る:
Alt
+]
- 前の提案を見る:
Alt
+[
- インライン提案をトリガーする:
Alt
+/
- サイドバーを切り替える:
Ctrl
+Shift
+a
- 単語レベルで受け入れる:
- 諸事情によりノーコメント
- Labs 機能リストを表示する:
Ctrl
+Shift
+Alt
+e
- Labs 機能リストを表示する:
動作しなかったショートカットの対策
単語レベルで受け入れる: Ctrl
+ →
原因
公式docのmacOS のキーボード ショートカット には当該のショートカットの記載がないです。
解決策
macOSあるあるですが、Ctrl
+ →
ではなく、Command
+ →
ですと、想定と思われる動作をしました。
参考1: VSCodeでのショットカットキー一覧表示
検索一覧
-
Command
+K
+Command
+S
で、ショートカットキー一覧が表示されます。 - 検索ボックスの右にある「キーボード」アイコンをクリックします。
- 探したいショートカット(今回は
Command
+→
)を入力 - 該当するショートカット一覧が出ます。
上記の添付画像では、Command
+ →
は5種類の機能に割り当てられていることがわかります。
参考2: VSCodeでのショットカットキーを削除
該当以外のショートカットの暴発を(少なくとも僕は)してほしくないので、削除することにします。
Copilotと書いていないので、わかりにくいですが、インラインの提案の次の単語を承諾する
以外を選んで、 Command
+ backspace
で削除できます。
次の提案を見る: Alt
+ ]
原因
ショートカットキーの重複でした。
解決策
今回は、Copilot優先なので、アクセシビリティ対応ビューで次を表示
を消します。
Alt
+ ]
以外のショートカットのほうがいい人は、次のインライン候補を表示する
のショートカットキーを変えてください。
ちなみに、アクセシビリティ対応ビューで次を表示
を消すと、keybindings.jsonに次の項目が追加されているはずです。
{
"key": "alt+]",
"command": "-editor.action.accessibleViewNext",
"when": "accessibleViewIsShown && accessibleViewSupportsNavigation"
}
前の提案を見る: Alt
+ [
原因
前項目と同様にショートカットキーの重複でした。
解決策
今回は、Copilot優先なので、アクセシビリティ対応ビューで前を表示
を消します。前のインライン候補を表示する
のみが有効になればいいです。
Alt
+ [
以外のショートカットのほうがいい人は、前のインライン候補を表示する
のショートカットキーを変えてください。
ちなみに、アクセシビリティ対応ビューで前を表示
を消すと、keybindings.jsonに次の項目が追加されているはずです。
{
"key": "alt+[",
"command": "-editor.action.accessibleViewPrevious",
"when": "accessibleViewIsShown && accessibleViewSupportsNavigation"
}
インライン提案をトリガーする: Alt
+ \
原因
ショートカット自体の設定がされていませんでした。
検索ワード: editor.action.inlineSuggest.trigger
解決策
普通に設定しましょう。
ただし、JISキーボードでは、\
の入力自体が Alt
+ ¥
になるので、Alt
+ \
ではなく、Alt
+ ¥
を設定するのがデフォルトの意図に近いように思います。
設定すると、keybindings.jsonに次の項目が追加されているはずです。
{
"key": "alt+[IntlYen]",
"command": "editor.action.inlineSuggest.trigger"
}
サイドバーを切り替える: Ctrl
+ Shift
+ a
効かなかったというよりも、Copilotとの関係が謎です。
英語版の記述を見ても、Toggle sidebar なので、Copilot特有の機能との関連がいまいちわかりません。