VS Code extension for LLM-assisted code/text completion
  • TypeScript 96.9%
  • CSS 2.8%
  • JavaScript 0.2%
  • HTML 0.1%
Find a file
igardev 811e76bfd8 - Menu.ts file refactored
- Predefined lists added for completion, chat and embeddings and envs
- Bugfixes
2025-09-30 19:27:43 +03:00
.vscode endpoints : add experimental OpenAI support (#16) 2025-02-08 08:50:42 +02:00
resources Documentation updated (#115) 2025-09-21 15:32:57 +03:00
src - Menu.ts file refactored 2025-09-30 19:27:43 +03:00
ui Refactor menu.ts file - split into multiple files, test and fix errors 2025-09-27 22:49:41 +03:00
.gitignore Code review issues fixed - removing inunstall for llama.cpp menu item, simplify .gitignore, fix identation in menu.ts. 2025-02-21 13:00:50 +02:00
.prettierrc endpoints : add experimental OpenAI support (#16) 2025-02-08 08:50:42 +02:00
.vscode-test.mjs First version of llama.vscode extension (#2) 2025-01-21 14:05:38 +02:00
.vscodeignore Agent support added (#79) 2025-08-01 15:59:16 +03:00
eslint.config.mjs First version of llama.vscode extension (#2) 2025-01-21 14:05:38 +02:00
LICENSE license : update copyright notice 2025-01-25 16:23:02 +02:00
llama.png First version of llama.vscode extension (#2) 2025-01-21 14:05:38 +02:00
package-lock.json Chats, separate view (#100) 2025-08-27 12:48:37 +03:00
package.json v0.0.27 2025-09-21 15:33:45 +03:00
README.md Agent entity added (#97) 2025-08-18 10:48:55 +03:00
tsconfig.json Agent support added (#79) 2025-08-01 15:59:16 +03:00

llama.vscode

Local LLM-assisted text completion, chat with AI and agentic coding extension for VS Code

image


llama vscode-swift0

Features

  • Auto-suggest on input
  • Accept a suggestion with Tab
  • Accept the first line of a suggestion with Shift + Tab
  • Accept the next word with Ctrl/Cmd + Right
  • Toggle the suggestion manually by pressing Ctrl + L
  • Control max text generation time
  • Configure scope of context around the cursor
  • Ring context with chunks from open and edited files and yanked text
  • Supports very large contexts even on low-end hardware via smart context reuse
  • Display performance stats
  • Llama Agent for agentic coding
  • Add/remove/export/import for models - completion, chat, embeddings and tools
  • Model selection - for completion, chat, embeddings and tools
  • Env (group of models) concept introduced. Selecting/Deselecting env selects/deselects all the models in it
  • Add/remove/export/import for env
  • Predefined models (including OpenAI gpt-oss 20B added as a local one)
  • Predefined envs for different use cases - only completion, chat + completion, chat + agent, loccal full package (with gpt-oss 20B), etc.
  • MCP tools selection for the agent (from VS Code installed MCP Servers)
  • Search and download models from Huggingface directly from llama-vscode

Installation

VS Code extension setup

Install the llama-vscode extension from the VS Code extension marketplace:

image

Note: also available at Open VSX

llama.cpp setup

Show llama-vscode menu by clicking on llama-vscode in the status bar or Ctrl+Shift+M and select "Install/Upgrade llama.cpp". This will install llama.cpp automatically for Mac and Windows. For Linux get the latest binaries and add the bin folder to the path.

Once you have llama.cpp installed, you can select env for your needs from llama-vscode menu "Select/start env..."

Below are some details how to install llama.cpp manually (if you prefer it).

Mac OS

brew install llama.cpp

Windows

winget install llama.cpp

Any other OS

Either use the latest binaries or build llama.cpp from source. For more information how to run the llama.cpp server, please refer to the Wiki.

llama.cpp settings

Here are recommended settings, depending on the amount of VRAM that you have:

  • More than 16GB VRAM:

    llama-server --fim-qwen-7b-default
    
  • Less than 16GB VRAM:

    llama-server --fim-qwen-3b-default
    
  • Less than 8GB VRAM:

    llama-server --fim-qwen-1.5b-default
    
CPU-only configs

These are llama-server settings for CPU-only hardware. Note that the quality will be significantly lower:

llama-server \
    -hf ggml-org/Qwen2.5-Coder-1.5B-Q8_0-GGUF \
    --port 8012 -ub 512 -b 512 --ctx-size 0 --cache-reuse 256
llama-server \
    -hf ggml-org/Qwen2.5-Coder-0.5B-Q8_0-GGUF \
    --port 8012 -ub 1024 -b 1024 --ctx-size 0 --cache-reuse 256

You can use any other FIM-compatible model that your system can handle. By default, the models downloaded with the -hf flag are stored in:

  • Mac OS: ~/Library/Caches/llama.cpp/
  • Linux: ~/.cache/llama.cpp
  • Windows: LOCALAPPDATA

The plugin requires FIM-compatible models: HF collection

Llama Agent

The extension includes Llama Agent

Features

  • Llama Agent UI in Explorer view
  • Works with local models - gpt-oss 20B is the best choice for now
  • Could work with external models (for example from OpenRouter)
  • MCP Support - could use the tools from the MCP Servers, which are installed and started in VS Code
  • 9 internal tools available for use
  • custom_tool - returns the content of a file or a web page
  • custom_eval_tool - write your own tool in javascript (function with input and return value string)
  • Attach the selection to the context
  • Configure maximum loops for Llama Agent

Usage

  1. Open Llama Agent with Ctrl+Shift+A or from llama-vscode menu "Show Llama Agent"
  2. Select Env with an agent if you haven't done it before.
  3. Write a query and attach files with the @ button if needed

More details(https://github.com/ggml-org/llama.vscode/wiki)

Examples

Speculative FIMs running locally on a M2 Studio:

https://github.com/user-attachments/assets/cab99b93-4712-40b4-9c8d-cf86e98d4482

Implementation details

The extension aims to be very simple and lightweight and at the same time to provide high-quality and performant local FIM completions, even on consumer-grade hardware.

Other IDEs