Local LLM based code completion like Copilot.
This extension does not come with a built in backend for running LLMs. Instead you are able to use any existing tool that supports the OpenAI API format. Like the Oobabooga WebUI and many other
NOTE: I stopped using Visual Studio Code and therefore also won't continue developing this extension. I will merge pull requests if needed and even fix smaller issues if necessary but there will be no new features added. If you're searching for an alternative I suggest the great continuer.dev extension.
- Inline (multi line) code completion
- Works with any OpenAI compatible API
- Save multiple API Endpoints and switch easily between them
- Reducing requests to LLMs by
- saving previous responses
- skipping completion depending on the last symbol
- only posting request if no input was given for some time (can be specified in the settings)
- Dynamically detect multi line or single line completion
- Add other files to the completion context to improve the output
localcompletion.active_endpoint
: The URL of the API which is used for generating the code completionlocalcompletion.endpoints
: List of URL endpointslocalcompletion.temperature
: Temperature of the LLMlocalcompletion.max_tokens
: Maximum number of tokens in the responselocalcompletion.stop_sequences
: Additional stop sequences (max. 2)localcompletion.reduce_calls
: Reduce API calls with various strategies (e.g. skip completion if last symbol was a letter)localcompletion.skip_autocomplete_widget
: Skip completion if autocomplete widget is activelocalcompletion.completion_timeout
: Minimum time between keystrokes (in ms) before sending a completion request (Reduces API calls, which are closed immediately after)localcompletion.max_lines
: Maximum number of lines in the response (empty lines are ignored)localcompletion.add_visible_files
: Add all visible files to completion contextlocalcompletion.context_files
: List of files to add to completion context (should usually not be edited manually)localcompletion.context_gitignore
: Whether to ignore files in the.gitignore
in the context selection view
The extension does not yet support a custom API key. This means it only works for APIs which do not need a key.
Model switching is not supported at the moment as most local tools don't support that property either.
Symlinks can cause problems with additional context selection. They are not handled properly at the moment.
Selected files in the .gitignore
are not automatically removed from the additional when "Apply .gitignore to context" is checked
In order to automatically ignore files in the .gitignore
for the context I use a package which interacts with git. At the moment, I was not able to test the extension without git
installed. If you encounter any issues please let me know.