Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>Typing While LLM ThinksNew to Visual Studio Code? Get it now.
Typing While LLM Thinks

Typing While LLM Thinks

Anton Kovalev

|
2 installs
| (0) | Free
Train touch typing while your LLM (Claude Code, Copilot, Cursor) is generating. Auto-focus jumps back to chat/terminal when the answer arrives.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Typing While LLM Thinks (VSCode extension)

Туда, где обычно скучаешь и листаешь Twitter, пока Claude Code / Copilot / Cursor генерируют ответ — встаёт тренажёр слепой печати. Как только модель ответила, фокус автоматом возвращается в терминал (или в редактор — настраивается).

Что внутри

  • Webview-панель с тренажёром (русский, английский, код или микс — выбирается в настройках).
  • Команды и хоткеи для ручного управления.
  • Локальный HTTP-сервер (127.0.0.1:9785), который ловит сигналы от Claude Code хуков, чтобы запускать/останавливать тренажёр автоматически.

Установка (dev)

  1. Скопируй папку vscode-typing-while-llm-thinks/ куда удобно.
  2. В терминале внутри неё (опционально):
    npm init -y && npm install --save-dev @types/vscode  # типы, не обязательны
    
  3. Открой папку в VSCode и нажми F5 — откроется Extension Development Host с уже активным расширением.

(Для упаковки в .vsix: npx @vscode/vsce package.)

Команды

Команда Хоткей (mac / win-linux)
Typing Trainer: Start (LLM is thinking) cmd+alt+t / ctrl+alt+t
Typing Trainer: Stop (LLM replied) cmd+alt+y / ctrl+alt+y
Typing Trainer: Toggle cmd+alt+u / ctrl+alt+u
Typing Trainer: Open Panel (через Command Palette)

Авто-режим (Claude Code)

Claude Code умеет вызывать произвольные команды на событиях. Добавь в ~/.claude/settings.json следующее (или скопируй из hooks/claude-code-settings.example.json, аккуратно слив со своими хуками):

{
  "hooks": {
    "UserPromptSubmit": [
      { "hooks": [{ "type": "command", "command": "curl -s -m 1 -X POST http://127.0.0.1:9785/llm/start >/dev/null 2>&1 || true" }] }
    ],
    "Stop": [
      { "hooks": [{ "type": "command", "command": "curl -s -m 1 -X POST http://127.0.0.1:9785/llm/stop  >/dev/null 2>&1 || true" }] }
    ],
    "Notification": [
      { "hooks": [{ "type": "command", "command": "curl -s -m 1 -X POST http://127.0.0.1:9785/llm/notify >/dev/null 2>&1 || true" }] }
    ]
  }
}

После этого:

  • ты отправляешь промпт в Claude Code → UserPromptSubmit → панель тренажёра встаёт активной;
  • Claude закончил ответ → Stop → тренажёр на паузе, фокус возвращается в терминал;
  • Claude задал вопрос (Notification) → так же выходит из тренажёра.

Гибридный режим

Авто работает только когда HTTP-сервер запущен и хуки настроены. Если что-то отвалилось — ручные хоткеи всегда доступны. То есть можно либо включать тренажёр самому, либо доверить хукам — оба способа сосуществуют.

Настройки

  • typingTrainer.httpPort — порт локального сервера (по умолчанию 9785).
  • typingTrainer.enableHttpServer — выключить, если хуки не нужны.
  • typingTrainer.refocusOnStop — куда уходит фокус при ответе: terminal (по умолчанию, лучшее для Claude Code), editor, none.
  • typingTrainer.wordLanguage — mixed, ru, en, code.

Известные ограничения

  • Авто-режим работает только с инструментами, у которых есть аналог хуков (Claude Code — да). Для Copilot Chat / Cursor пока только ручные хоткеи.
  • HTTP-сервер слушает только 127.0.0.1 — внешние подключения отбрасываются.
  • Тренажёр живёт в webview панели VSCode; пока панель скрыта другими табами, ввод не ловится — открой её в side group.
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft