From e93b41a4ff2fee8c123139621f4cc478b1de0a43 Mon Sep 17 00:00:00 2001 From: zipg Date: Wed, 26 Aug 2026 21:31:54 +0800 Subject: [PATCH] feat(editor): preselect the first completion candidate --- apps/desktop/src/stores/__tests__/settingsStore.spec.ts | 6 +++--- apps/desktop/src/stores/settingsStore.ts | 2 +- packages/app-tests/editorSettingsDraft.test.ts | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/stores/__tests__/settingsStore.spec.ts b/apps/desktop/src/stores/__tests__/settingsStore.spec.ts index c357564197..413a748f57 100644 --- a/apps/desktop/src/stores/__tests__/settingsStore.spec.ts +++ b/apps/desktop/src/stores/__tests__/settingsStore.spec.ts @@ -132,11 +132,11 @@ describe("normalizeEditorSettings", () => { expect(normalizeEditorSettings({ insertSpaceAfterCompletion: false }).insertSpaceAfterCompletion).toBe(false); }); - it("keeps non-intrusive completion selection as the default", () => { - expect(normalizeEditorSettings({}).selectFirstCompletionOnOpen).toBe(false); + it("selects the first completion candidate by default and preserves the opt-out", () => { + expect(normalizeEditorSettings({}).selectFirstCompletionOnOpen).toBe(true); expect(normalizeEditorSettings({ selectFirstCompletionOnOpen: true }).selectFirstCompletionOnOpen).toBe(true); expect(normalizeEditorSettings({ selectFirstCompletionOnOpen: false }).selectFirstCompletionOnOpen).toBe(false); - expect(normalizeEditorSettings({ selectFirstCompletionOnOpen: "true" } as any).selectFirstCompletionOnOpen).toBe(false); + expect(normalizeEditorSettings({ selectFirstCompletionOnOpen: "true" } as any).selectFirstCompletionOnOpen).toBe(true); }); it("defaults sidebar connection sorting to manual order and preserves valid alphabetical modes", () => { diff --git a/apps/desktop/src/stores/settingsStore.ts b/apps/desktop/src/stores/settingsStore.ts index 63db2d68af..a3b30d55e5 100644 --- a/apps/desktop/src/stores/settingsStore.ts +++ b/apps/desktop/src/stores/settingsStore.ts @@ -746,7 +746,7 @@ export const DEFAULT_EDITOR_SETTINGS: EditorSettings = { autoAliasTables: true, insertSpaceAfterCompletion: true, sortCompletionColumnsAlphabetically: true, - selectFirstCompletionOnOpen: false, + selectFirstCompletionOnOpen: true, wordWrap: false, tableDdlWordWrap: true, vimModeEnabled: false, diff --git a/packages/app-tests/editorSettingsDraft.test.ts b/packages/app-tests/editorSettingsDraft.test.ts index 0371c20a3c..63b52b6b74 100644 --- a/packages/app-tests/editorSettingsDraft.test.ts +++ b/packages/app-tests/editorSettingsDraft.test.ts @@ -51,8 +51,8 @@ test("round-trips completion column ordering through the editor settings draft", test("round-trips completion selection behavior through the editor settings draft", () => { const base = editorSettingsDraftFromSettings(DEFAULT_EDITOR_SETTINGS); - const patch = editorSettingsPatchFromDraft({ ...base, selectFirstCompletionOnOpen: true }, base); + const patch = editorSettingsPatchFromDraft({ ...base, selectFirstCompletionOnOpen: false }, base); - assert.deepEqual(patch, { selectFirstCompletionOnOpen: true }); - assert.equal(editorSettingsDraftFromSettings({ ...DEFAULT_EDITOR_SETTINGS, ...patch }).selectFirstCompletionOnOpen, true); + assert.deepEqual(patch, { selectFirstCompletionOnOpen: false }); + assert.equal(editorSettingsDraftFromSettings({ ...DEFAULT_EDITOR_SETTINGS, ...patch }).selectFirstCompletionOnOpen, false); });