Update IDE integration context toggle shortcut to ctrl+G (#6245)
This commit is contained in:
parent
2416a80e9c
commit
798c4d1311
|
@ -60,3 +60,9 @@ This document lists the available keyboard shortcuts in the Gemini CLI.
|
||||||
| `Up Arrow` / `k` | Move selection up. |
|
| `Up Arrow` / `k` | Move selection up. |
|
||||||
| `1-9` | Select an item by its number. |
|
| `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. |
|
| (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 |
|
||||||
|
|
|
@ -163,8 +163,8 @@ export const defaultKeyBindings: KeyBindingConfig = {
|
||||||
[Command.SHOW_ERROR_DETAILS]: [{ key: 'o', ctrl: true }],
|
[Command.SHOW_ERROR_DETAILS]: [{ key: 'o', ctrl: true }],
|
||||||
// Original: key.ctrl && key.name === 't'
|
// Original: key.ctrl && key.name === 't'
|
||||||
[Command.TOGGLE_TOOL_DESCRIPTIONS]: [{ key: 't', ctrl: true }],
|
[Command.TOGGLE_TOOL_DESCRIPTIONS]: [{ key: 't', ctrl: true }],
|
||||||
// Original: key.ctrl && key.name === 'e'
|
// Original: key.ctrl && key.name === 'g'
|
||||||
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: [{ key: 'e', ctrl: true }],
|
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: [{ key: 'g', ctrl: true }],
|
||||||
// Original: key.ctrl && (key.name === 'c' || key.name === 'C')
|
// Original: key.ctrl && (key.name === 'c' || key.name === 'C')
|
||||||
[Command.QUIT]: [{ key: 'c', ctrl: true }],
|
[Command.QUIT]: [{ key: 'c', ctrl: true }],
|
||||||
// Original: key.ctrl && (key.name === 'd' || key.name === 'D')
|
// Original: key.ctrl && (key.name === 'd' || key.name === 'D')
|
||||||
|
|
|
@ -528,7 +528,7 @@ describe('App UI', () => {
|
||||||
);
|
);
|
||||||
currentUnmount = unmount;
|
currentUnmount = unmount;
|
||||||
await Promise.resolve();
|
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 () => {
|
it('should not display any files when not available', async () => {
|
||||||
|
@ -583,7 +583,7 @@ describe('App UI', () => {
|
||||||
);
|
);
|
||||||
currentUnmount = unmount;
|
currentUnmount = unmount;
|
||||||
await Promise.resolve();
|
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 () => {
|
it('should display active file and other context', async () => {
|
||||||
|
@ -612,7 +612,7 @@ describe('App UI', () => {
|
||||||
currentUnmount = unmount;
|
currentUnmount = unmount;
|
||||||
await Promise.resolve();
|
await Promise.resolve();
|
||||||
expect(lastFrame()).toContain(
|
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',
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ describe('<ContextSummaryDisplay />', () => {
|
||||||
const { lastFrame } = renderWithWidth(120, baseProps);
|
const { lastFrame } = renderWithWidth(120, baseProps);
|
||||||
const output = lastFrame();
|
const output = lastFrame();
|
||||||
expect(output).toContain(
|
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
|
// Check for absence of newlines
|
||||||
expect(output.includes('\n')).toBe(false);
|
expect(output.includes('\n')).toBe(false);
|
||||||
|
@ -52,7 +52,7 @@ describe('<ContextSummaryDisplay />', () => {
|
||||||
const output = lastFrame();
|
const output = lastFrame();
|
||||||
const expectedLines = [
|
const expectedLines = [
|
||||||
'Using:',
|
'Using:',
|
||||||
' - 1 open file (ctrl+e to view)',
|
' - 1 open file (ctrl+g to view)',
|
||||||
' - 1 GEMINI.md file',
|
' - 1 GEMINI.md file',
|
||||||
' - 1 MCP server (ctrl+t to view)',
|
' - 1 MCP server (ctrl+t to view)',
|
||||||
];
|
];
|
||||||
|
@ -78,7 +78,7 @@ describe('<ContextSummaryDisplay />', () => {
|
||||||
mcpServers: {},
|
mcpServers: {},
|
||||||
};
|
};
|
||||||
const { lastFrame } = renderWithWidth(60, props);
|
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');
|
const actualLines = lastFrame().split('\n');
|
||||||
expect(actualLines).toEqual(expectedLines);
|
expect(actualLines).toEqual(expectedLines);
|
||||||
});
|
});
|
||||||
|
|
|
@ -49,7 +49,7 @@ export const ContextSummaryDisplay: React.FC<ContextSummaryDisplayProps> = ({
|
||||||
}
|
}
|
||||||
return `${openFileCount} open file${
|
return `${openFileCount} open file${
|
||||||
openFileCount > 1 ? 's' : ''
|
openFileCount > 1 ? 's' : ''
|
||||||
} (ctrl+e to view)`;
|
} (ctrl+g to view)`;
|
||||||
})();
|
})();
|
||||||
|
|
||||||
const geminiMdText = (() => {
|
const geminiMdText = (() => {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
exports[`IDEContextDetailDisplay > handles duplicate basenames by showing path hints 1`] = `
|
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: │
|
│ Open files: │
|
||||||
│ - bar.txt (/foo) (active) │
|
│ - 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`] = `
|
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: │
|
│ Open files: │
|
||||||
│ - bar.txt (active) │
|
│ - bar.txt (active) │
|
||||||
|
|
|
@ -51,7 +51,7 @@ describe('keyMatchers', () => {
|
||||||
[Command.TOGGLE_TOOL_DESCRIPTIONS]: (key: Key) =>
|
[Command.TOGGLE_TOOL_DESCRIPTIONS]: (key: Key) =>
|
||||||
key.ctrl && key.name === 't',
|
key.ctrl && key.name === 't',
|
||||||
[Command.TOGGLE_IDE_CONTEXT_DETAIL]: (key: Key) =>
|
[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.QUIT]: (key: Key) => key.ctrl && key.name === 'c',
|
||||||
[Command.EXIT]: (key: Key) => key.ctrl && key.name === 'd',
|
[Command.EXIT]: (key: Key) => key.ctrl && key.name === 'd',
|
||||||
[Command.SHOW_MORE_LINES]: (key: Key) => key.ctrl && key.name === 's',
|
[Command.SHOW_MORE_LINES]: (key: Key) => key.ctrl && key.name === 's',
|
||||||
|
@ -207,8 +207,8 @@ describe('keyMatchers', () => {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: Command.TOGGLE_IDE_CONTEXT_DETAIL,
|
command: Command.TOGGLE_IDE_CONTEXT_DETAIL,
|
||||||
positive: [createKey('e', { ctrl: true })],
|
positive: [createKey('g', { ctrl: true })],
|
||||||
negative: [createKey('e'), createKey('t', { ctrl: true })],
|
negative: [createKey('g'), createKey('t', { ctrl: true })],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
command: Command.QUIT,
|
command: Command.QUIT,
|
||||||
|
|
Loading…
Reference in New Issue