mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-04-28 19:52:02 +00:00
* feat: add Ctrl+Y shortcut to retry failed requests
- Add Ctrl+Y keyboard shortcut for retrying the last failed request
- Add isNetworkError() to detect transient network failures (ECONNREFUSED, ETIMEDOUT, etc.)
- Add DashScope 1305 error code to rate limit detection
- Add error hint \"Press Ctrl+Y to retry\" in error messages
- Support user-defined error codes for retry via config
- Add retryLastPrompt() hook in useGeminiStream
- Update keyboard shortcuts documentation
* feat: improve Ctrl+Y retry feature with tests, docs, and rate limit config
- Add comprehensive tests for Ctrl+Y retry shortcut in InputPrompt
- Add unit tests for retryLastPrompt in useGeminiStream hook
- Add detailed JSDoc comments for retryLastPrompt function and Ctrl+Y shortcut
- Extend isRateLimitError to support custom error codes via retryErrorCodes config
- Fix rate limit retry log variable reference (RATE_LIMIT_RETRY_OPTIONS → maxRateLimitRetries)
- Add Eclipse IDE files to .gitignore
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* refactor(ui): consolidate retry countdown as inline hint in error messages
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* feat(cli): enhance error handling with improved retry mechanism
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Modify ErrorMessage component to remove dim color from hint text
- Update useGeminiStream hook to improve retry countdown behavior with option to preserve or clear hints
- Adjust tests to match new error handling implementation
* feat: add Ctrl+Y shortcut to retry the last failed request
When a request errors out, the error message shows an inline hint
"(Press Ctrl+Y to retry.)" in secondary color. Pressing Ctrl+Y
re-submits the same prompt, commits the error text to history
(without the hint), and clears the hint from the UI.
- Add retryLastPrompt action wired to Ctrl+Y via keyBindings and InputPrompt
- Track last submitted prompt and error state in useGeminiStream refs
- Show retry hint inline with error text in ErrorMessage component,
wrapping naturally on narrow terminals while preserving hint color
- Expose retryLastPrompt through UIActionsContext
- Add keyboard shortcut entry in KeyboardShortcuts display
- Add i18n strings for hint and no-retry-available message
- Document Ctrl+Y in keyboard-shortcuts.md
* docs(configuration): Update model provider configuration document
* chore: remove YOLO mode code from core
* fix: prevent Ctrl+Y hint from overriding auto-retry countdown
When an auto-retry countdown is active (retryCountdownTimerRef is set),
handleErrorEvent should not overwrite it with the Ctrl+Y hint. The auto-retry
hint ("retrying in Xs...") and manual retry hint ("Press Ctrl+Y to retry.")
are mutually exclusive:
- Auto-retry errors (e.g., rate limits): show countdown hint
- Other errors: show Ctrl+Y hint
Also removed retryErrorCodes from ContentGeneratorConfig as it's not part
of the minimal Ctrl+Y feature scope.
* simplify: remove complex options from clearRetryCountdown
Revert clearRetryCountdown to simplest form without options parameter.
The function now just clears the timer and pending item without any
automatic history commit logic.
* fix: restore pendingRetryCountdownItem as separate state from pendingRetryErrorItem
Auto-retry countdown and manual retry hint are now independent:
- pendingRetryErrorItem: displays error message with optional hint
- pendingRetryCountdownItem: displays separate countdown line for auto-retry
This ensures both can be shown simultaneously without overriding each other.
* fix: restore RetryCountdownMessage rendering in HistoryItemDisplay
The retry_countdown type should be rendered as a separate message,
not inline in ErrorMessage. This allows auto-retry countdown and
manual retry hint to coexist properly.
* fix(cli): properly commit retry error item to history before clearing
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* fix(cli): remove trailing period from retry hint translations
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Remove unnecessary period from 'Press Ctrl+Y to retry' translation strings in both en.js and zh.js locales. Also update the corresponding usage in useGeminiStream hook.
* chore(sdk-java): add Eclipse project configuration files
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add .project configuration files for client and qwencode modules to support Eclipse IDE development environment.
* feat(cli): add retry countdown hint to error message
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* Revert "chore(sdk-java): add Eclipse project configuration files"
This reverts commit da83b5e571.
---------
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
72 lines
8.4 KiB
Markdown
72 lines
8.4 KiB
Markdown
# Qwen Code Keyboard Shortcuts
|
|
|
|
This document lists the available keyboard shortcuts in Qwen Code.
|
|
|
|
## General
|
|
|
|
| Shortcut | Description |
|
|
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
|
|
| `Esc` | Close dialogs and suggestions. |
|
|
| `Ctrl+C` | Cancel the ongoing request and clear the input. Press twice to exit the application. |
|
|
| `Ctrl+D` | Exit the application if the input is empty. Press twice to confirm. |
|
|
| `Ctrl+L` | Clear the screen. |
|
|
| `Ctrl+O` | Toggle the display of the debug console. |
|
|
| `Ctrl+S` | Allows long responses to print fully, disabling truncation. Use your terminal's scrollback to view the entire output. |
|
|
| `Ctrl+T` | Toggle the display of tool descriptions. |
|
|
| `Shift+Tab` (`Tab` on Windows) | Cycle approval modes (`plan` → `default` → `auto-edit` → `yolo`) |
|
|
|
|
## Input Prompt
|
|
|
|
| Shortcut | Description |
|
|
| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `!` | Toggle shell mode when the input is empty. |
|
|
| `?` | Toggle keyboard shortcuts display when the input is empty. |
|
|
| `\` (at end of line) + `Enter` | Insert a newline. |
|
|
| `Down Arrow` | Navigate down through the input history. |
|
|
| `Enter` | Submit the current prompt. |
|
|
| `Meta+Delete` / `Ctrl+Delete` | Delete the word to the right of the cursor. |
|
|
| `Tab` | Autocomplete the current suggestion if one exists. |
|
|
| `Up Arrow` | Navigate up through the input history. |
|
|
| `Ctrl+A` / `Home` | Move the cursor to the beginning of the line. |
|
|
| `Ctrl+B` / `Left Arrow` | Move the cursor one character to the left. |
|
|
| `Ctrl+C` | Clear the input prompt |
|
|
| `Esc` (double press) | Clear the input prompt. |
|
|
| `Ctrl+D` / `Delete` | Delete the character to the right of the cursor. |
|
|
| `Ctrl+E` / `End` | Move the cursor to the end of the line. |
|
|
| `Ctrl+F` / `Right Arrow` | Move the cursor one character to the right. |
|
|
| `Ctrl+H` / `Backspace` | Delete the character to the left of the cursor. |
|
|
| `Ctrl+K` | Delete from the cursor to the end of the line. |
|
|
| `Ctrl+Left Arrow` / `Meta+Left Arrow` / `Meta+B` | Move the cursor one word to the left. |
|
|
| `Ctrl+N` | Navigate down through the input history. |
|
|
| `Ctrl+P` | Navigate up through the input history. |
|
|
| `Ctrl+R` | Reverse search through input/shell history. |
|
|
| `Ctrl+Y` | Retry the last failed request. |
|
|
| `Ctrl+Right Arrow` / `Meta+Right Arrow` / `Meta+F` | Move the cursor one word to the right. |
|
|
| `Ctrl+U` | Delete from the cursor to the beginning of the line. |
|
|
| `Ctrl+V` (Windows: `Alt+V`) | Paste clipboard content. If the clipboard contains an image, it will be saved and a reference to it will be inserted in the prompt. |
|
|
| `Ctrl+W` / `Meta+Backspace` / `Ctrl+Backspace` | Delete the word to the left of the cursor. |
|
|
| `Ctrl+X` / `Meta+Enter` | Open the current input in an external editor. |
|
|
|
|
## Suggestions
|
|
|
|
| Shortcut | Description |
|
|
| --------------- | -------------------------------------- |
|
|
| `Down Arrow` | Navigate down through the suggestions. |
|
|
| `Tab` / `Enter` | Accept the selected suggestion. |
|
|
| `Up Arrow` | Navigate up through the suggestions. |
|
|
|
|
## Radio Button Select
|
|
|
|
| Shortcut | Description |
|
|
| ------------------ | ------------------------------------------------------------------------------------------------------------- |
|
|
| `Down Arrow` / `j` | Move selection down. |
|
|
| `Enter` | Confirm selection. |
|
|
| `Up Arrow` / `k` | Move selection up. |
|
|
| `1-9` | Select an item by its number. |
|
|
| (multi-digit) | For items with numbers greater than 9, press the digits in quick succession to select the corresponding item. |
|
|
|
|
## IDE Integration
|
|
|
|
| Shortcut | Description |
|
|
| -------- | --------------------------------- |
|
|
| `Ctrl+G` | See context CLI received from IDE |
|