Skip to content

Commit 551192b

Browse files
docs: add keyboard shortcuts documentation and v3.12.x release notes (#139)
* docs: add keyboard shortcuts documentation and v3.12.x release notes - Add comprehensive keyboard shortcuts documentation page explaining the roo.acceptInput command - Update suggested-responses documentation to reference keyboard shortcut option - Add keyboard shortcut tip to tips-and-tricks page - Add release notes for versions 3.12.0, 3.12.1, and 3.12.2 - Update sidebar configuration to include new pages - Update update-notes index to include v3.12.x releases * docs: update v3.12.0 release notes with profile-specific diff settings and improved keyboard shortcut descriptions * docs: enhance v3.12 release notes with profile-specific diff settings and improved keyboard shortcuts documentation * docs: remove outdated v3.12 release notes * docs: update xAI provider link in v3.12.0 release notes
1 parent f6b05ae commit 551192b

File tree

9 files changed

+256
-2
lines changed

9 files changed

+256
-2
lines changed

docs/features/api-configuration-profiles.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Configuration profiles can have their own:
1414
- [Temperature settings](/features/model-temperature) for controlling response randomness
1515
- Thinking budgets
1616
- Provider-specific settings
17+
- Diff editing configuration
1718
- Rate limit settings
1819

1920
Note that available settings vary by provider and model. Each provider offers different configuration options, and even within the same provider, different models may support different parameter ranges or features.
@@ -92,4 +93,5 @@ API keys are stored securely in VSCode's Secret Storage and are never exposed in
9293
- Integrates with [local models](/advanced-usage/local-models) for offline work
9394
- Supports [temperature settings](/features/model-temperature) per mode
9495
- Supports per-profile rate limits (configured here) and general [usage tracking/cost info](/advanced-usage/rate-limits-costs)
96+
- Supports per-profile diff editing configuration (v3.12+) for tailored code editing behavior
9597

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
---
2+
sidebar_label: Keyboard Shortcuts
3+
---
4+
5+
# Keyboard Shortcuts
6+
7+
The Roo Code interface supports keyboard shortcuts to streamline your workflow and reduce dependence on mouse interactions.
8+
9+
## Available Keyboard Commands
10+
11+
Roo Code offers keyboard commands to enhance your workflow. This page focuses on the `roo.acceptInput` command, but here's a quick reference to all keyboard commands:
12+
13+
| Command | Description | Default Shortcut |
14+
|---------|-------------|-----------------|
15+
| `roo.acceptInput` | Submit text or accept the primary suggestion | None (configurable) |
16+
| `roo.focus` | Focus the Roo input box | None (configurable) |
17+
18+
### Key Benefits of Keyboard Commands
19+
20+
* **Keyboard-Driven Interface**: Submit text or select the primary suggestion button without mouse interaction
21+
* **Improved Accessibility**: Essential for users with mobility limitations or those who experience discomfort with mouse usage
22+
* **Vim/Neovim Compatibility**: Supports seamless transitions for developers coming from keyboard-centric environments
23+
* **Workflow Efficiency**: Reduces context switching between keyboard and mouse during development tasks
24+
25+
## roo.acceptInput Command
26+
27+
The `roo.acceptInput` command lets you submit text or accept suggestions with keyboard shortcuts instead of clicking buttons or pressing Enter in the input area.
28+
29+
### What It Does
30+
31+
The `roo.acceptInput` command is a general-purpose input submission command. When triggered, it:
32+
33+
- Submits your current text or image input when in the text input area (equivalent to pressing Enter)
34+
- Clicks the primary (first) button when action buttons are visible (such as confirm/cancel buttons or any other action buttons)
35+
36+
### Detailed Setup Guide
37+
38+
#### Method 1: Using the VS Code UI
39+
40+
1. Open the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac)
41+
2. Type "Preferences: Open Keyboard Shortcuts"
42+
3. In the search box, type "roo.acceptInput"
43+
4. Locate "Roo: Accept Input/Suggestion" in the results
44+
5. Click the + icon to the left of the command
45+
6. Press your desired key combination (e.g., `Ctrl+Enter` or `Alt+Enter`)
46+
7. Press Enter to confirm
47+
48+
49+
#### Method 2: Editing keybindings.json directly
50+
51+
1. Open the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac)
52+
2. Type "Preferences: Open Keyboard Shortcuts (JSON)"
53+
3. Add the following entry to the JSON array:
54+
55+
```json
56+
{
57+
"key": "ctrl+enter", // or your preferred key combination
58+
"command": "roo.acceptInput",
59+
"when": "rooViewFocused" // This is a context condition that ensures the command only works when Roo is focused
60+
}
61+
```
62+
63+
You can also use a more specific condition:
64+
```json
65+
{
66+
"key": "ctrl+enter",
67+
"command": "roo.acceptInput",
68+
"when": "webviewViewFocus && webviewViewId == 'roo-cline.SidebarProvider'"
69+
}
70+
```
71+
72+
#### Recommended Key Combinations
73+
74+
Choose a key combination that doesn't conflict with existing VS Code shortcuts:
75+
76+
- `Alt+Enter` - Easy to press while typing
77+
- `Ctrl+Space` - Familiar for those who use autocomplete
78+
- `Ctrl+Enter` - Intuitive for command execution
79+
- `Alt+A` - Mnemonic for "Accept"
80+
81+
### Practical Use Cases
82+
83+
#### Quick Development Workflows
84+
85+
- **Text Submission**: Send messages to Roo without moving your hands from the keyboard
86+
- **Action Confirmations**: Accept operations like saving files, running commands, or applying diffs
87+
- **Multi-Step Processes**: Move quickly through steps that require confirmation or input
88+
- **Consecutive Tasks**: Chain multiple tasks together with minimal interruption
89+
90+
#### Keyboard-Centric Development
91+
92+
- **Vim/Neovim Workflows**: If you're coming from a Vim/Neovim background, maintain your keyboard-focused workflow
93+
- **IDE Integration**: Use alongside other VS Code keyboard shortcuts for a seamless experience
94+
- **Code Reviews**: Quickly accept suggestions when reviewing code with Roo
95+
- **Documentation Writing**: Submit text and accept formatting suggestions when generating documentation
96+
97+
#### Accessibility Use Cases
98+
99+
- **Hand Mobility Limitations**: Essential for users who have difficulty using a mouse
100+
- **Repetitive Strain Prevention**: Reduce mouse usage to prevent or manage repetitive strain injuries
101+
- **Screen Reader Integration**: Works well with screen readers for visually impaired users
102+
- **Voice Control Compatibility**: Can be triggered via voice commands when using voice control software
103+
104+
### Accessibility Benefits
105+
106+
The `roo.acceptInput` command was designed with accessibility in mind:
107+
108+
- **Reduced Mouse Dependence**: Complete entire workflows without reaching for the mouse
109+
- **Reduced Physical Strain**: Helps users who experience discomfort or pain from mouse usage
110+
- **Alternative Input Method**: Supports users with mobility impairments who rely on keyboard navigation
111+
- **Workflow Optimization**: Particularly valuable for users coming from keyboard-centric environments like Vim/Neovim
112+
113+
### Keyboard-Centric Workflows
114+
115+
Here are some complete workflow examples showing how to effectively use keyboard shortcuts with Roo:
116+
117+
#### Development Workflow Example
118+
119+
1. Open VS Code and navigate to your project
120+
2. Open Roo via the sidebar
121+
3. Type your request: "Create a REST API endpoint for user registration"
122+
4. When Roo asks for framework preferences, use your `roo.acceptInput` shortcut to select the first suggestion
123+
5. Continue using the shortcut to accept code generation suggestions
124+
6. When Roo offers to save the file, use the shortcut again to confirm
125+
7. Use VS Code's built-in shortcuts to navigate through the created files
126+
127+
#### Code Review Workflow
128+
129+
1. Select code you want to review and use VS Code's "Copy" command
130+
2. Ask Roo to review it: "Review this code for security issues"
131+
3. As Roo asks clarifying questions about the code context, use your shortcut to accept suggestions
132+
4. When Roo provides improvement recommendations, use the shortcut again to accept implementation suggestions
133+
134+
### Troubleshooting
135+
136+
| Issue | Solution |
137+
|-------|----------|
138+
| Shortcut doesn't work | Ensure Roo is focused (click in the Roo panel first) |
139+
| Wrong suggestion selected | The command always selects the first (primary) button; use mouse if you need a different option |
140+
| Conflicts with existing shortcuts | Try a different key combination in VS Code keyboard settings |
141+
| No visual feedback when used | This is normal - the command silently activates the function without visual confirmation |
142+
| Shortcut works inconsistently | Make sure the `when` clause is properly configured in your keybindings.json (either `rooViewFocused` or the webview-specific condition) |
143+
144+
### Technical Implementation
145+
146+
The `roo.acceptInput` command is implemented as follows:
147+
148+
- Command registered as `roo.acceptInput` with display title "Roo: Accept Input/Suggestion" in the command palette
149+
- When triggered, it sends an "acceptInput" message to the active Roo webview
150+
- The webview determines the appropriate action based on the current UI state:
151+
- Clicks the primary action button if action buttons are visible and enabled
152+
- Sends the message if the text area is enabled and contains text/images
153+
- No default key binding - users assign their preferred shortcut
154+
155+
### Limitations
156+
157+
- Works only when the Roo interface is active
158+
- Has no effect if no inputs or suggestions are currently available
159+
- Prioritizes the primary (first) button when multiple options are shown

docs/features/suggested-responses.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,18 @@ Suggested Responses appear as clickable buttons directly below Roo's question in
2222

2323
## Interacting with Suggestions
2424

25-
You have two options for using suggested responses:
25+
You have three options for using suggested responses:
2626

2727
1. **Direct Selection**:
2828
* **Action**: Simply click the button containing the answer you want to provide.
2929
* **Result**: The selected answer is immediately sent back to Roo as your response. This is the quickest way to reply if one of the suggestions perfectly matches your intent.
3030

31-
2. **Edit Before Sending**:
31+
2. **Keyboard Shortcut**:
32+
* **Action**: Use the `roo.acceptInput` command with your configured keyboard shortcut.
33+
* **Result**: The primary (first) suggestion button is automatically selected.
34+
* **Note**: For setup details, see [Keyboard Shortcuts](/features/keyboard-shortcuts).
35+
36+
3. **Edit Before Sending**:
3237
* **Action**:
3338
* Hold down `Shift` and click the suggestion button.
3439
* *Alternatively*, hover over the suggestion button and click the pencil icon (<Codicon name="edit" />) that appears.

docs/tips-and-tricks.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ A collection of quick tips to help you get the most out of Roo Code.
1414
- When using Debug mode, ask Roo to "start a new task in Debug mode with all of the necessary context needed to figure out X" so that the debugging process uses its own context window and doesn't pollute the main task
1515
- Add your own tips by clicking "Edit this page" below!
1616
- To manage large files and reduce context/resource usage, adjust the `File read auto-truncate threshold` setting. This setting controls the number of lines read from a file in one batch. Lower values can improve performance when working with very large files, but may require more read operations. You can find this setting in the Roo Code settings under 'Advanced Settings'.
17+
- Set up a keyboard shortcut for the [`roo.acceptInput` command](/features/keyboard-shortcuts) to accept suggestions or submit text input without using the mouse. Perfect for keyboard-focused workflows and reducing hand strain.

docs/update-notes/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
This section contains notes about recent updates to Roo Code, listed by version number.
44

5+
## Version 3.12
6+
7+
* [3.12.2](/update-notes/v3.12.2) (2025-04-16)
8+
* [3.12.1](/update-notes/v3.12.1) (2025-04-16)
9+
* [3.12.0](/update-notes/v3.12.0) (2025-04-15)
10+
511
## Version 3.11
612

713
* [3.11.17](/update-notes/v3.11.17) (2025-04-14)

docs/update-notes/v3.12.0.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Roo Code 3.12 Release Notes (2025-04-16)
2+
3+
This release introduces xAI provider support, improves diff editing, enhances UI with search capabilities, adds OpenAI model support, and includes various usability improvements and bug fixes.
4+
5+
## Provider Updates
6+
7+
* Added [xAI provider](/providers/xai) and exposed reasoning effort options for Grok on OpenRouter. (thanks Cline!)
8+
* Added support for OpenAI `o3` & `4o-mini` models. (thanks PeterDaveHello!)
9+
10+
## Profile-Specific Diff Settings
11+
12+
* **Profile-Specific Settings**: Diff editing configuration now works on a per-profile basis, giving you greater control over how code edits work with different providers. Learn more about [API Configuration Profiles](/features/api-configuration-profiles).
13+
14+
### How It Works
15+
16+
* **Multiple Profile Support**: Each profile stores its own diff editing preferences
17+
* **Flexible Configuration**: Switch between profiles to instantly change how diffs are handled
18+
* **Provider-Specific Control**: Use different diff strategies for different code providers
19+
* **Isolated Settings**: Changes in one profile don't affect others
20+
21+
For example, you can create a profile for one provider with strict whitespace handling, and another profile with more relaxed rules. When you switch profiles, the system automatically applies the appropriate diff editing configuration.
22+
23+
## Keyboard Shortcuts
24+
25+
### Keyboard Shortcuts for Input Acceptance
26+
27+
Added the `roo.acceptInput` command to allow users to accept input or suggestions using keyboard shortcuts instead of mouse clicks. (thanks axkirillov!) This feature:
28+
29+
#### Key Benefits
30+
31+
* **Keyboard-Driven Interface**: Submit text or select the primary suggestion button without mouse interaction
32+
* **Improved Accessibility**: Essential for users with mobility limitations or those who experience discomfort with mouse usage
33+
* **Vim/Neovim Compatibility**: Supports transitions for developers coming from keyboard-centric environments
34+
* **Workflow Efficiency**: Reduces context switching between keyboard and mouse during development tasks
35+
36+
For detailed setup and usage instructions, see our new [Keyboard Shortcuts](/features/keyboard-shortcuts) documentation page.
37+
38+
39+
## QOL Improvements
40+
41+
* Improved pre-diff string normalization for better editing reliability, especially with whitespace-sensitive languages.
42+
* Made checkpoints faster and more reliable for smoother project state management.
43+
* Added a search bar to mode and profile select dropdowns for easier navigation. (thanks samhvw8!)
44+
* Improved file/folder context mention UI for better usability. (thanks elianiva!)
45+
* Added telemetry for code action usage, prompt enhancement usage, and consecutive mistake errors to improve product stability.
46+
* Enhanced diff error telemetry for better troubleshooting capabilities.
47+
* Suppressed zero cost values in the task header for cleaner UI. (thanks do-it!)
48+
49+
## Bug Fixes
50+
51+
* Fixed a bug affecting the Edit button visibility in the select dropdowns.
52+
* Made JSON parsing safer to avoid crashing the webview on bad input.

docs/update-notes/v3.12.1.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Roo Code 3.12.1 Release Notes (2025-04-16)
2+
3+
This patch release addresses a UI visibility issue.
4+
5+
## Bug Fixes
6+
7+
* Fixed a bug affecting the Edit button visibility in the select dropdowns.

docs/update-notes/v3.12.2.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Roo Code 3.12.2 Release Notes (2025-04-16)
2+
3+
This patch release adds OpenAI model support and improves UI and telemetry aspects.
4+
5+
## Provider Updates
6+
7+
* Added support for OpenAI `o3` & `4o-mini` models. (thanks PeterDaveHello!)
8+
9+
## Improvements
10+
11+
* Improved file/folder context mention UI for better usability. (thanks elianiva!)
12+
* Enhanced diff error telemetry for better troubleshooting capabilities.

sidebars.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ const sidebars: SidebarsConfig = {
3333
'features/enhance-prompt',
3434
'features/fast-edits',
3535
'features/footgun-prompting',
36+
'features/keyboard-shortcuts',
3637
'features/model-temperature',
3738
'features/settings-management',
3839
'features/suggested-responses',
@@ -136,6 +137,15 @@ const sidebars: SidebarsConfig = {
136137
label: 'Update Notes',
137138
items: [
138139
'update-notes/index',
140+
{
141+
type: 'category',
142+
label: '3.12',
143+
items: [
144+
{ type: 'doc', id: 'update-notes/v3.12.2', label: '3.12.2' },
145+
{ type: 'doc', id: 'update-notes/v3.12.1', label: '3.12.1' },
146+
{ type: 'doc', id: 'update-notes/v3.12.0', label: '3.12.0' },
147+
],
148+
},
139149
{
140150
type: 'category',
141151
label: '3.11',

0 commit comments

Comments
 (0)