You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/features/keyboard-shortcuts.md
+25-17Lines changed: 25 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,13 +8,12 @@ The Roo Code interface supports keyboard shortcuts to streamline your workflow a
8
8
9
9
## Available Keyboard Commands
10
10
11
-
Roo Code offers several keyboard commands to enhance your workflow. This page focuses on the `roo.acceptInput` command, but here's a quick reference to all keyboard commands:
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
12
13
13
| Command | Description | Default Shortcut |
14
14
|---------|-------------|-----------------|
15
15
|`roo.acceptInput`| Submit text or accept the primary suggestion | None (configurable) |
16
16
|`roo.focus`| Focus the Roo input box | None (configurable) |
17
-
|`roo.openChat`| Open Roo sidebar | Ctrl+Shift+R (⌘+Shift+R on Mac) |
18
17
19
18
### Key Benefits of Keyboard Commands
20
19
@@ -29,9 +28,10 @@ The `roo.acceptInput` command lets you submit text or accept suggestions with ke
29
28
30
29
### What It Does
31
30
32
-
When triggered, the command:
33
-
- Clicks the primary (first) button when suggestion buttons are visible (see [Suggested Responses](/features/suggested-responses))
34
-
- Submits your current text input when in regular text input mode
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
35
36
36
### Detailed Setup Guide
37
37
@@ -45,7 +45,6 @@ When triggered, the command:
45
45
6. Press your desired key combination (e.g., `Ctrl+Enter` or `Alt+Enter`)
46
46
7. Press Enter to confirm
47
47
48
-
<imgsrc="/img/keyboard-shortcuts/keyboard-shortcut-setup.png"alt="Setting up the roo.acceptInput keyboard shortcut in VS Code's Keyboard Shortcuts UI"width="700" />
49
48
50
49
#### Method 2: Editing keybindings.json directly
51
50
@@ -57,7 +56,16 @@ When triggered, the command:
57
56
{
58
57
"key": "ctrl+enter", // or your preferred key combination
59
58
"command": "roo.acceptInput",
60
-
"when": "rooViewFocused"
59
+
"when": "rooViewFocused"// This is a context condition that ensures the command only works when Roo is focused
@@ -74,10 +82,10 @@ Choose a key combination that doesn't conflict with existing VS Code shortcuts:
74
82
75
83
#### Quick Development Workflows
76
84
77
-
-**Multi-Step Code Generation**: When Roo asks clarifying questions during code generation, accept the primary suggestion without breaking your flow
78
-
-**Rapid Prototyping**: Quickly move through a series of inputs when creating a prototype
79
-
-**Confirmations**: Accept default confirmation options during processes like creating files, running terminal commands, or applying diffs
80
-
-**Consecutive Tasks**: Chain multiple small tasks together with minimal interruption
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
81
89
82
90
#### Keyboard-Centric Development
83
91
@@ -109,7 +117,7 @@ Here are some complete workflow examples showing how to effectively use keyboard
109
117
#### Development Workflow Example
110
118
111
119
1. Open VS Code and navigate to your project
112
-
2. Open Roo (`Ctrl+Shift+R` or via sidebar)
120
+
2. Open Roo via the sidebar
113
121
3. Type your request: "Create a REST API endpoint for user registration"
114
122
4. When Roo asks for framework preferences, use your `roo.acceptInput` shortcut to select the first suggestion
115
123
5. Continue using the shortcut to accept code generation suggestions
@@ -131,21 +139,21 @@ Here are some complete workflow examples showing how to effectively use keyboard
131
139
| Wrong suggestion selected | The command always selects the first (primary) button; use mouse if you need a different option |
132
140
| Conflicts with existing shortcuts | Try a different key combination in VS Code keyboard settings |
133
141
| No visual feedback when used | This is normal - the command silently activates the function without visual confirmation |
134
-
| Shortcut works inconsistently | Make sure the `when: "rooViewFocused"` clause is in your keybindings.json |
142
+
| Shortcut works inconsistently | Make sure the `when` clause is properly configured in your keybindings.json (either `rooViewFocused` or the webview-specific condition)|
135
143
136
144
### Technical Implementation
137
145
138
146
The `roo.acceptInput` command is implemented as follows:
139
147
140
148
- Command registered as `roo.acceptInput` with display title "Roo: Accept Input/Suggestion" in the command palette
141
149
- When triggered, it sends an "acceptInput" message to the active Roo webview
142
-
- The webview determines the appropriate action based on the current UI state
143
-
- Designed to work with the `rooViewFocused` context condition
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
144
153
- No default key binding - users assign their preferred shortcut
145
154
146
155
### Limitations
147
156
148
157
- Works only when the Roo interface is active
149
158
- Has no effect if no inputs or suggestions are currently available
150
-
- Prioritizes the primary (first) button when multiple suggestions are shown
151
-
- Cannot be used to select specific suggestions (always picks the first one)
159
+
- Prioritizes the primary (first) button when multiple options are shown
* Added xAI provider and exposed reasoning effort options for Grok on OpenRouter. (thanks Cline!)
8
8
9
+
## Profile-Specific Diff Settings
10
+
11
+
***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
12
+
9
13
## Keyboard Shortcuts
10
14
11
15
### Keyboard Shortcuts for Input Acceptance
@@ -16,21 +20,15 @@ Added the `roo.acceptInput` command to allow users to accept input or suggestion
16
20
17
21
***Keyboard-Driven Interface**: Submit text or select the primary suggestion button without mouse interaction
18
22
***Improved Accessibility**: Essential for users with mobility limitations or those who experience discomfort with mouse usage
19
-
***Vim/Neovim Compatibility**: Supports seamless transitions for developers coming from keyboard-centric environments
23
+
***Vim/Neovim Compatibility**: Supports transitions for developers coming from keyboard-centric environments
20
24
***Workflow Efficiency**: Reduces context switching between keyboard and mouse during development tasks
21
25
22
-
#### Technical Implementation
23
-
24
-
* Command registered as `roo.acceptInput` with display title "Roo: Accept Input/Suggestion"
25
-
* Designed to work with the `rooViewFocused` context condition
26
-
* No default key binding - users can assign their preferred shortcut
27
-
* Works in conjunction with other keyboard shortcuts for a complete keyboard-driven experience
28
-
29
26
For detailed setup and usage instructions, see our new [Keyboard Shortcuts](/features/keyboard-shortcuts) documentation page.
30
27
28
+
31
29
## Improvements
32
30
33
-
*Made diff editing configuration per-profile and improved pre-diff string normalization for better editing reliability.
31
+
*Improved pre-diff string normalization for better editing reliability, especially with whitespace-sensitive languages
34
32
* Made checkpoints faster and more reliable for smoother project state management.
35
33
* Added a search bar to mode and profile select dropdowns for easier navigation. (thanks samhvw8!)
36
34
* Added telemetry for code action usage, prompt enhancement usage, and consecutive mistake errors to improve product stability.
0 commit comments