GitHub Copilot extension for coc.nvim
Published Package Summary
coc-github-copilot
Github copilot support with coc.nvim.
This extension using inline completion feature of coc.nvim, see :h coc-inlineCompletion.
Copilot next edit suggestions use coc.nvim's generic Next Edit interface. See
:h coc-next-edit for automatic triggering, mappings and buffer-local controls.
If your network can't access copilot service directly, configure proxy is
needed, see :h coc-config-http.
To have service status in vim status line, enable status integration of coc.nvim,
see :h coc-status.
Use :CocList services to run or stop the language server.
Use let b:coc_copilot_disable = 1 to disable Copilot inline completion and next edit suggestions for the current buffer.
Install
In your vim/neovim, run command:
:CocInstall coc-github-copilot
Configurations
github-copilot.enableCompletion: Enable GitHub Copilot for inline completion Default:truegithub-copilot.enableCompletionByLanguage: Per-language completion overrides managed by the current-language commands. Default:{}github-copilot.openPanelCommand: Vim command to open github copilot panel for inline completion items. Default:"keepalt vs"github-copilot.filetypes: Enabled filetypes, use "*" or null for all filetypes. Default:["*"]github-copilot.trace.server.verbosity: Trace level of communication between server and client Default:"messages"Valid options: ["off","messages","compact","verbose"]github-copilot.trace.server.format: Text format of trace messages. Default:"text"Valid options: ["text","json"]github-copilot.statusIcon: Status text, change to if nerd font works on your vim. Default:"Copilot"github.copilot.selectedCompletionModel: Completion model selected bygithub-copilot.changeCompletionModel. An empty value uses the server default. Default:""github-enterprise.uri: If you are using GitHub Copilot Enterprise, set this to the URI of your GitHub Enterprise instance. Default:null
License
MIT
- GitHub Copilot extension for coc.nvim
- *
Want to build, test, or contribute to coc.nvim extensions? Explore our official SDK and testing toolkits.
Open Developer GuideVersion History
Published with coc-github-copilot@0.1.3 as history.md.
0.1.3
- Merge branch 'main' of github.com:neoclide/coc-github-copilot (423151c)
- build: lower coc engine requirement to ^0.0.82 (73f9de3)
0.1.2
- fix: update Copilot next edit model support (2c7ec6f)
- feat: add Copilot next edit support (95f774c)
- update coc.nvim (fd98831)
0.1.1
- add release.yml (e8b4335)
- update logo (0b32e8c)
- add logo (99b31ad)
0.1.0
- Add
github-copilot.statusandgithub-copilot.quotadiagnostics commands. - Add scoped completion controls with
github-copilot.enableandgithub-copilot.disable, including global, language and buffer pickers and explicit disable diagnostics. - Add completion model selection from the Copilot language server.
- Make Panel acceptance safe against target-buffer changes and restore the original editor state after accepting.
- Show Panel generation progress, candidate counts, completion and errors; preserve snippet placeholders when accepting suggestions.
- Add
github-copilot.diagnosticswith extension, Language Server, Node, editor and workspace details, plus log and service restart actions. - Add Copilot next edit suggestions through coc.nvim's generic Next Edit interface.
Contributed Commands
All contributes.commands entries from the published package manifest for coc-github-copilot@0.1.3.
| Command (:CocCommand) | Description |
|---|---|
| github-copilot.signIn | Sign in to Github Copilot |
| github-copilot.signOut | Sign out to Github Copilot |
| github-copilot.openPanel | Open copilot completions panel |
| github-copilot.status | Check GitHub Copilot status |
| github-copilot.diagnostics | Show GitHub Copilot diagnostics |
| github-copilot.quota | Show GitHub Copilot quota |
| github-copilot.changeCompletionModel | Change GitHub Copilot completion model |
| github-copilot.enable | Enable GitHub Copilot completions |
| github-copilot.disable | Disable GitHub Copilot completions |
Configuration Schema
All contributes.configuration entries from the published package manifest, including each raw property schema for coc-settings.json.
Raw JSON Schema
{
"type": [
"string",
"null"
],
"scope": "application",
"default": null,
"description": "If you are using GitHub Copilot Enterprise, set this to the URI of your GitHub Enterprise instance."
}Raw JSON Schema
{
"type": [
"array"
],
"items": {
"type": [
"string",
"null"
]
},
"scope": "application",
"default": [
"*"
],
"description": "Enabled filetypes, use \"*\" or null for all filetypes."
}Raw JSON Schema
{
"type": "string",
"scope": "application",
"default": "Copilot",
"description": "Status text, change to if nerd font works on your vim."
}Raw JSON Schema
{
"type": "boolean",
"scope": "language-overridable",
"default": true,
"description": "Enable GitHub Copilot for inline completion"
}Raw JSON Schema
{
"type": "string",
"scope": "application",
"default": "keepalt vs",
"description": "Vim command to open github copilot completions panel for inline completion items."
}Raw JSON Schema
{
"enum": [
"text",
"json"
],
"type": "string",
"scope": "application",
"default": "text",
"description": "Text format of trace messages."
}Raw JSON Schema
{
"enum": [
"off",
"messages",
"compact",
"verbose"
],
"type": "string",
"scope": "application",
"default": "messages",
"description": "Trace level of communication between server and client"
}Raw JSON Schema
{
"type": "string",
"scope": "application",
"default": "",
"markdownDescription": "The currently selected completion model ID. To select from a list of available models, use the __\"Change Completion Model\"__ command or open the model picker from the Copilot menu. The value must be a valid model ID. An empty value indicates that the default model will be used."
}Raw JSON Schema
{
"type": "object",
"scope": "application",
"default": {},
"description": "Per-language completion overrides managed by the current-language enable, disable and toggle commands.",
"additionalProperties": {
"type": "boolean"
}
}