Update IDE integration context toggle shortcut to ctrl+G (#6245)

This commit is contained in:
Shreya Keshive 2025-08-14 17:50:20 +00:00 committed by GitHub
parent 2416a80e9c
commit 798c4d1311
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 20 additions and 14 deletions

View File

@ -60,3 +60,9 @@ This document lists the available keyboard shortcuts in the Gemini CLI.
| `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 |

View File

@ -163,8 +163,8 @@ export const defaultKeyBindings: KeyBindingConfig = {
[Command.SHOW_ERROR_DETAILS]: [{ key: 'o', ctrl: true }],
// Original: key.ctrl && key.name === 't'
[Command.TOGGLE_TOOL_DESCRIPTIONS]: [{ key: 't', ctrl: true }],
// Original: key.ctrl && key.name === 'e'
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: [{ key: 'e', ctrl: true }],
// Original: key.ctrl && key.name === 'g'
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: [{ key: 'g', ctrl: true }],
// Original: key.ctrl && (key.name === 'c' || key.name === 'C')
[Command.QUIT]: [{ key: 'c', ctrl: true }],
// Original: key.ctrl && (key.name === 'd' || key.name === 'D')

View File

@ -528,7 +528,7 @@ describe('App UI', () => {
);
currentUnmount = unmount;
await Promise.resolve();
expect(lastFrame()).toContain('1 open file (ctrl+e to view)');
expect(lastFrame()).toContain('1 open file (ctrl+g to view)');
});
it('should not display any files when not available', async () => {
@ -583,7 +583,7 @@ describe('App UI', () => {
);
currentUnmount = unmount;
await Promise.resolve();
expect(lastFrame()).toContain('3 open files (ctrl+e to view)');
expect(lastFrame()).toContain('3 open files (ctrl+g to view)');
});
it('should display active file and other context', async () => {
@ -612,7 +612,7 @@ describe('App UI', () => {
currentUnmount = unmount;
await Promise.resolve();
expect(lastFrame()).toContain(
'Using: 1 open file (ctrl+e to view) | 1 GEMINI.md file',
'Using: 1 open file (ctrl+g to view) | 1 GEMINI.md file',
);
});

View File

@ -41,7 +41,7 @@ describe('<ContextSummaryDisplay />', () => {
const { lastFrame } = renderWithWidth(120, baseProps);
const output = lastFrame();
expect(output).toContain(
'Using: 1 open file (ctrl+e to view) | 1 GEMINI.md file | 1 MCP server (ctrl+t to view)',
'Using: 1 open file (ctrl+g to view) | 1 GEMINI.md file | 1 MCP server (ctrl+t to view)',
);
// Check for absence of newlines
expect(output.includes('\n')).toBe(false);
@ -52,7 +52,7 @@ describe('<ContextSummaryDisplay />', () => {
const output = lastFrame();
const expectedLines = [
'Using:',
' - 1 open file (ctrl+e to view)',
' - 1 open file (ctrl+g to view)',
' - 1 GEMINI.md file',
' - 1 MCP server (ctrl+t to view)',
];
@ -78,7 +78,7 @@ describe('<ContextSummaryDisplay />', () => {
mcpServers: {},
};
const { lastFrame } = renderWithWidth(60, props);
const expectedLines = ['Using:', ' - 1 open file (ctrl+e to view)'];
const expectedLines = ['Using:', ' - 1 open file (ctrl+g to view)'];
const actualLines = lastFrame().split('\n');
expect(actualLines).toEqual(expectedLines);
});

View File

@ -49,7 +49,7 @@ export const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps> = ({
}
return `${openFileCount} open file${
openFileCount > 1 ? 's' : ''
} (ctrl+e to view)`;
} (ctrl+g to view)`;
})();
const geminiMdText = (() => {

View File

@ -3,7 +3,7 @@
exports[`IDEContextDetailDisplay > handles duplicate basenames by showing path hints 1`] = `
"
╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ VS Code Context (ctrl+e to toggle) │
│ VS Code Context (ctrl+g to toggle) │
│ │
│ Open files: │
│ - bar.txt (/foo) (active) │
@ -15,7 +15,7 @@ exports[`IDEContextDetailDisplay > handles duplicate basenames by showing path h
exports[`IDEContextDetailDisplay > renders a list of open files with active status 1`] = `
"
╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ VS Code Context (ctrl+e to toggle) │
│ VS Code Context (ctrl+g to toggle) │
│ │
│ Open files: │
│ - bar.txt (active) │

View File

@ -51,7 +51,7 @@ describe('keyMatchers', () => {
[Command.TOGGLE_TOOL_DESCRIPTIONS]: (key: Key) =>
key.ctrl && key.name === 't',
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: (key: Key) =>
key.ctrl && key.name === 'e',
key.ctrl && key.name === 'g',
[Command.QUIT]: (key: Key) => key.ctrl && key.name === 'c',
[Command.EXIT]: (key: Key) => key.ctrl && key.name === 'd',
[Command.SHOW_MORE_LINES]: (key: Key) => key.ctrl && key.name === 's',
@ -207,8 +207,8 @@ describe('keyMatchers', () => {
},
{
command: Command.TOGGLE_IDE_CONTEXT_DETAIL,
positive: [createKey('e', { ctrl: true })],
negative: [createKey('e'), createKey('t', { ctrl: true })],
positive: [createKey('g', { ctrl: true })],
negative: [createKey('g'), createKey('t', { ctrl: true })],
},
{
command: Command.QUIT,