- Inline completions that trigger while typing
- FIM (prefix/suffix) prompts for Qwen and Codestral
- Lightweight context from clipboard and import definitions
- Activity Bar sidebar to edit API keys and parameters quickly
- Output Channel logs requests, responses, and debug info
This project started because the ecosystem shifted toward Codex- and Claude-based tools, and we lost fast, lightweight inline completion like Cursor. Most existing solutions are heavy extensions and feel slow, so TTAB focuses on a minimal, responsive inline completion experience. If a solid Next Edit model becomes available, it will be integrated.
- Install dependencies:
npm install - Build the extension:
npm run compile - Press
F5in VS Code to launch the Extension Development Host
This repo includes ttab-completion-0.0.1.vsix. In VS Code, run “Extensions: Install from VSIX...”.
- Open the
TTABview in the Activity Bar - Choose a model (
qwen3-coder-flashorcodestral-latest) - Set the corresponding API key
- Start typing to see inline completions
Or configure via Settings JSON:
{
"ttabCompletion.apiKeys": {
"qwen": "YOUR_DASHSCOPE_KEY",
"codestral": "YOUR_CODESTRAL_KEY"
},
"ttabCompletion.model": "qwen3-coder-flash",
"ttabCompletion.maxTokens": 128,
"ttabCompletion.maxPromptTokens": 1024,
"ttabCompletion.debounceDelay": 350,
"ttabCompletion.enabled": true
}ttabCompletion.apiKey: legacy API key (mapped to the selected provider)ttabCompletion.apiKeys: per-provider keys (qwen/codestral)ttabCompletion.model: model name (defaultqwen3-coder-flash)ttabCompletion.maxTokens: max output tokens (100-500)ttabCompletion.maxPromptTokens: max prompt context tokens (128-8192)ttabCompletion.debounceDelay: debounce delay in msttabCompletion.enabled: enable/disable completions
- Read prefix/suffix from the current file and build a FIM prompt
- Build a system prompt with clipboard content and import definition snippets
- Call DashScope (Qwen) or Codestral endpoints to get completions
- Strip code fences and return inline completion text
npm run compile: compile TypeScriptnpm run watch: watch and rebuildnpm run package: build the.vsixpackage
src/extension.ts: inline completion entrypoint and flowsrc/prompt.ts: FIM and system prompt builderssrc/llm.ts: Qwen/Codestral request adapterssrc/importDefinitions.ts: Tree-sitter import snippetssrc/sidebar.ts: sidebar configuration UI
This project is inspired by Continue: https://github.com/continuedev/continue
Apache-2.0
