refactor: rename verboseMode to compactMode for better UX clarity (#3075)

The "Compact Mode" label is more intuitive than "Verbose Mode" for users,
as it directly describes the default compact view experience. This change
inverts the boolean semantics (compactMode=false means show full output)
and exposes the setting in the /settings dialog (showInDialog: true).

- Rename ui.verboseMode → ui.compactMode with inverted default (false)
- Rename VerboseModeContext → CompactModeContext (file and exports)
- Rename TOGGLE_VERBOSE_MODE → TOGGLE_COMPACT_MODE in key bindings
- Update all consumer components with inverted logic
- Update i18n keys across 6 locales (verbose → compact)
- Update VS Code settings schema
- Add ui.compactMode documentation to settings.md
- Fix Ctrl+O description in keyboard-shortcuts.md
This commit is contained in:
Shaojin Wen 2026-04-10 11:55:50 +08:00 committed by GitHub
parent 98a0f78c4b
commit 746f67f436
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
22 changed files with 95 additions and 94 deletions

View file

@ -28,7 +28,7 @@ import { SHELL_COMMAND_NAME, SHELL_NAME } from '../../constants.js';
import { theme } from '../../semantic-colors.js';
import { useSettings } from '../../contexts/SettingsContext.js';
import type { LoadedSettings } from '../../../config/settings.js';
import { useVerboseMode } from '../../contexts/VerboseModeContext.js';
import { useCompactMode } from '../../contexts/CompactModeContext.js';
import {
ToolStatusIndicator,
@ -343,9 +343,9 @@ export const ToolMessage: React.FC<ToolMessageProps> = ({
// Use the custom hook to determine the display type
const displayRenderer = useResultDisplayRenderer(resultDisplay);
const { verboseMode } = useVerboseMode();
const { compactMode } = useCompactMode();
const effectiveDisplayRenderer =
verboseMode || forceShowResult
!compactMode || forceShowResult
? displayRenderer
: { type: 'none' as const };