GitHub Copilot
セカンダリサイドバーは Copilot 用、としてしまうのはよさそう
インライン補完候補出す
インライン候補実は複数から選べる、このパーツ
いつも出すには "editor.inlineSuggest.showToolbar": "always",
https://gyazo.com/628b04a03b460193569f90a596037597
editor.action.inlineSuggest.showNext で次の候補出せる
Accept Word で先頭から必要なところまで確定できる
単語単位で確定したいことなくね? と思ったので行単位でやる
editor.action.inlineSuggest.acceptNextLine
補完候補別パネルに出す
Synthesizing 0/10 solutions のやつね
選ぶのはクリックするしかない?
Copilot Chat
workbench.panel.chatSidebar か inlineChat.start のどっちが使いやすいかまだ分かってない
選択 → コマンドなら inline のほうがいいかな?
/tests, /simplify, /fix, /explain
inline でやってくれるのかサイドバー開いて話し始めるのかってコマンド依存なのか?? よく分かってない
@workspace でワークスペース内のコードを context に与えて生成させている
コマンドによっては指定しなければ勝手に付く
@workspace #file:foo.yaml 等で読むファイル指定できる
inline じゃだめぽい、chat なら要素が青色になる
https://gyazo.com/caf73dbea13e1190b113d21bedec2c28
#editor で今開いているものを対象に取れる
---.icon
いろいろバッティングするので ctrl+shift+なにか に色々割り当てた
copilot を含まないけど使うコマンドも結構ある
inline suggestion 周り
editor.action.inlineSuggest.showNext
editor.action.inlineSuggest.acceptNextLine
など
chat 系
workbench.panel.chatSidebar
inlineChat.start
inlineChat == copilot の話なのか??
code:copilot-defaults.json
[
{
"key": "ctrl+enter",
"command": "github.copilot.generate",
"when": "editorTextFocus && github.copilot.activated && !inInteractiveInput && !interactiveEditorFocused"
},
{
"key": "cmd+i",
"command": "github.copilot.terminal.suggestCommand",
"when": "terminalFocus"
},
{
"key": "ctrl+/",
"command": "github.copilot.acceptCursorPanelSolution",
"when": "github.copilot.activated && github.copilot.panelVisible"
},
{
"key": "alt+[",
"command": "github.copilot.previousPanelSolution",
"when": "github.copilot.activated && github.copilot.panelVisible"
},
{
"key": "alt+]",
"command": "github.copilot.nextPanelSolution",
"when": "github.copilot.activated && github.copilot.panelVisible"
// 効いてない??
// editor.action.inlineSuggest.showNext でいいように思えるけど別のパネルの話なのかな
},
{
"key": "alt+\\",
"command": "editor.action.inlineSuggest.trigger",
"when": "config.github.copilot.inlineSuggest.enable && editorTextFocus && !editorHasSelection && !inlineSuggestionsVisible"
}
// - github.copilot.acceptPanelSolution
// - github.copilot.collectDiagnostics
// - github.copilot.createProject
// - github.copilot.debug.workbenchState
// - github.copilot.executeSearch
// - github.copilot.ghpr.applySuggestion
// - github.copilot.git.generateCommitMessage
// - github.copilot.interactiveEditor.explain
// - github.copilot.interactiveEditor.fix
// - github.copilot.interactiveEditor.generate
// - github.copilot.interactiveEditor.generateDocs
// - github.copilot.interactiveEditor.generateTests
// - github.copilot.interactiveSession.feedback
// - github.copilot.newNotebook
// - github.copilot.openDocs
// - github.copilot.openLogs
// - github.copilot.openPanelForRange
// - github.copilot.sendFeedback
// - github.copilot.signIn
// - github.copilot.terminal.explainTerminalLastCommand
// - github.copilot.terminal.explainTerminalSelection
// - github.copilot.terminal.explainTerminalSelectionContextMenu
// - github.copilot.terminal.generateCommitMessage
// - github.copilot.toggleCopilot
// - github.copilot.toggleStatusMenu
// - workbench.action.openChat.copilot
// - workbench.action.openQuickChat.copilot
// - workbench.action.output.show.GitHub.copilot-chat.GitHub Copilot Chat
// - workbench.action.output.show.extension-output-GitHub.copilot-#1-GitHub Copilot
// - workbench.action.output.show.extension-output-GitHub.copilot-#2-GitHub Copilot Log
// - workbench.panel.chat.view.copilot.focus
// - workbench.panel.chat.view.copilot.removeView
// - workbench.panel.chat.view.copilot.resetViewLocation
// - workbench.panel.chat.view.copilot.toggleVisibility
]