Some checks failed
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / resolve bundled et-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / build-linux-x64 (push) Has been cancelled
build-packages / build-linux-arm64 (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / update Nix release metadata (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
test / lint-and-test (push) Has been cancelled
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
build-et-binaries / build-linux-x64 (push) Has been cancelled
build-et-binaries / build-linux-arm64 (push) Has been cancelled
build-et-binaries / build-macos-universal (push) Has been cancelled
build-et-binaries / build-windows-x64 (push) Has been cancelled
build-et-binaries / release (push) Has been cancelled
947 lines
29 KiB
TypeScript
947 lines
29 KiB
TypeScript
/**
|
|
* Static catalog of searchable settings destinations.
|
|
* Each entry maps to a tab (and optional AI sub-tab) plus a DOM anchor id.
|
|
*/
|
|
|
|
export const SETTINGS_TAB_IDS = [
|
|
"application",
|
|
"appearance",
|
|
"terminal",
|
|
"shortcuts",
|
|
"file-associations",
|
|
"ai",
|
|
"sync",
|
|
"system",
|
|
"plugins",
|
|
] as const;
|
|
|
|
export type SettingsTabId = (typeof SETTINGS_TAB_IDS)[number];
|
|
|
|
export const AI_SETTINGS_SUB_TAB_IDS = [
|
|
"providers",
|
|
"agents",
|
|
"tools",
|
|
"search",
|
|
"safety",
|
|
] as const;
|
|
|
|
export type AISettingsSubTabId = (typeof AI_SETTINGS_SUB_TAB_IDS)[number];
|
|
|
|
export const SYNC_SETTINGS_SUB_TAB_IDS = ["providers", "status"] as const;
|
|
|
|
export type SyncSettingsSubTabId = (typeof SYNC_SETTINGS_SUB_TAB_IDS)[number];
|
|
|
|
export type SettingsSearchEntry = {
|
|
/** Stable id; also used as `data-settings-anchor` on the target element. */
|
|
id: string;
|
|
tab: SettingsTabId;
|
|
/** Nested AI settings tab when `tab === "ai"`. */
|
|
aiSubTab?: AISettingsSubTabId;
|
|
/** Nested Sync settings tab when `tab === "sync"`. */
|
|
syncSubTab?: SyncSettingsSubTabId;
|
|
/** Primary label i18n key. */
|
|
labelKey: string;
|
|
/** Optional description i18n key (indexed for search). */
|
|
descriptionKey?: string;
|
|
/** Optional section title i18n key (shown as breadcrumb / indexed). */
|
|
sectionKey?: string;
|
|
/** Extra English/Chinese aliases that are not full i18n strings. */
|
|
keywords?: readonly string[];
|
|
};
|
|
|
|
export const SETTINGS_SEARCH_CATALOG: readonly SettingsSearchEntry[] = [
|
|
// Application
|
|
{
|
|
id: "application-check-updates",
|
|
tab: "application",
|
|
labelKey: "settings.application.checkUpdates",
|
|
keywords: ["update", "version", "更新"],
|
|
},
|
|
{
|
|
id: "application-report-problem",
|
|
tab: "application",
|
|
labelKey: "settings.application.reportProblem",
|
|
descriptionKey: "settings.application.reportProblem.subtitle",
|
|
keywords: ["bug", "issue", "反馈"],
|
|
},
|
|
{
|
|
id: "application-community",
|
|
tab: "application",
|
|
labelKey: "settings.application.community",
|
|
descriptionKey: "settings.application.community.subtitle",
|
|
},
|
|
{
|
|
id: "application-github",
|
|
tab: "application",
|
|
labelKey: "settings.application.github",
|
|
descriptionKey: "settings.application.github.subtitle",
|
|
keywords: ["github", "repo"],
|
|
},
|
|
{
|
|
id: "application-whats-new",
|
|
tab: "application",
|
|
labelKey: "settings.application.whatsNew",
|
|
descriptionKey: "settings.application.whatsNew.subtitle",
|
|
keywords: ["changelog", "release"],
|
|
},
|
|
|
|
// Appearance
|
|
{
|
|
id: "appearance-language",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.language",
|
|
descriptionKey: "settings.appearance.language.desc",
|
|
sectionKey: "settings.appearance.language",
|
|
keywords: ["locale", "i18n", "语言"],
|
|
},
|
|
{
|
|
id: "appearance-ui-font",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.uiFont",
|
|
descriptionKey: "settings.appearance.uiFont.desc",
|
|
sectionKey: "settings.appearance.language",
|
|
},
|
|
{
|
|
id: "appearance-window-opacity",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.windowOpacity",
|
|
descriptionKey: "settings.appearance.windowOpacity.desc",
|
|
keywords: ["transparency", "透明"],
|
|
},
|
|
{
|
|
id: "appearance-theme",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.theme",
|
|
sectionKey: "settings.appearance.uiTheme",
|
|
keywords: ["dark", "light", "system", "主题"],
|
|
},
|
|
{
|
|
id: "appearance-theme-color",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.uiTheme",
|
|
sectionKey: "settings.appearance.uiTheme",
|
|
keywords: ["color", "palette"],
|
|
},
|
|
{
|
|
id: "appearance-accent-mode",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.accentColor.mode",
|
|
descriptionKey: "settings.appearance.accentColor.mode.desc",
|
|
sectionKey: "settings.appearance.uiTheme",
|
|
keywords: ["accent", "强调色"],
|
|
},
|
|
{
|
|
id: "appearance-app-icon",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.appIcon",
|
|
descriptionKey: "settings.appearance.appIcon.desc",
|
|
keywords: ["icon", "图标"],
|
|
},
|
|
{
|
|
id: "appearance-vault-show-recent",
|
|
tab: "appearance",
|
|
labelKey: "settings.vault.showRecentHosts",
|
|
descriptionKey: "settings.vault.showRecentHostsDesc",
|
|
sectionKey: "settings.vault.title",
|
|
},
|
|
{
|
|
id: "appearance-vault-select-before-connect",
|
|
tab: "appearance",
|
|
labelKey: "settings.vault.selectBeforeConnect",
|
|
descriptionKey: "settings.vault.selectBeforeConnectDesc",
|
|
sectionKey: "settings.vault.title",
|
|
},
|
|
{
|
|
id: "appearance-vault-ungrouped-root",
|
|
tab: "appearance",
|
|
labelKey: "settings.vault.showOnlyUngroupedHostsInRoot",
|
|
descriptionKey: "settings.vault.showOnlyUngroupedHostsInRootDesc",
|
|
sectionKey: "settings.vault.title",
|
|
},
|
|
{
|
|
id: "appearance-vault-show-sftp-tab",
|
|
tab: "appearance",
|
|
labelKey: "settings.vault.showSftpTab",
|
|
descriptionKey: "settings.vault.showSftpTabDesc",
|
|
sectionKey: "settings.vault.title",
|
|
},
|
|
{
|
|
id: "appearance-vault-host-tree",
|
|
tab: "appearance",
|
|
labelKey: "settings.vault.showHostTreeSidebar",
|
|
descriptionKey: "settings.vault.showHostTreeSidebarDesc",
|
|
sectionKey: "settings.vault.title",
|
|
},
|
|
{
|
|
id: "appearance-vault-auto-import-known-hosts",
|
|
tab: "appearance",
|
|
labelKey: "settings.vault.autoImportSystemKnownHosts",
|
|
descriptionKey: "settings.vault.autoImportSystemKnownHostsDesc",
|
|
sectionKey: "settings.vault.title",
|
|
},
|
|
{
|
|
id: "appearance-custom-css",
|
|
tab: "appearance",
|
|
labelKey: "settings.appearance.customCss",
|
|
descriptionKey: "settings.appearance.customCss.desc",
|
|
keywords: ["css", "style"],
|
|
},
|
|
|
|
// Terminal — theme / font / cursor / keyboard
|
|
{
|
|
id: "terminal-theme-follow-app",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.theme.followApp",
|
|
descriptionKey: "settings.terminal.theme.followApp.desc",
|
|
sectionKey: "settings.terminal.section.theme",
|
|
},
|
|
{
|
|
id: "terminal-font-family",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.family",
|
|
descriptionKey: "settings.terminal.font.family.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-font-cjk",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.cjk",
|
|
descriptionKey: "settings.terminal.font.cjk.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
keywords: ["chinese", "cjk", "中文"],
|
|
},
|
|
{
|
|
id: "terminal-font-size",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.size",
|
|
descriptionKey: "settings.terminal.font.size.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-font-weight",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.weight",
|
|
descriptionKey: "settings.terminal.font.weight.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-font-weight-bold",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.weightBold",
|
|
descriptionKey: "settings.terminal.font.weightBold.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-font-smoothing",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.smoothing",
|
|
descriptionKey: "settings.terminal.font.smoothing.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-font-line-padding",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.linePadding",
|
|
descriptionKey: "settings.terminal.font.linePadding.desc",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-emulation-type",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.font.emulationType",
|
|
sectionKey: "settings.terminal.section.font",
|
|
},
|
|
{
|
|
id: "terminal-cursor-style",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.cursor.style",
|
|
sectionKey: "settings.terminal.section.cursor",
|
|
},
|
|
{
|
|
id: "terminal-cursor-blink",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.cursor.blink",
|
|
sectionKey: "settings.terminal.section.cursor",
|
|
},
|
|
{
|
|
id: "terminal-cursor-highlight-line",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.cursor.highlightLine",
|
|
descriptionKey: "settings.terminal.cursor.highlightLine.desc",
|
|
sectionKey: "settings.terminal.section.cursor",
|
|
},
|
|
{
|
|
id: "terminal-alt-as-meta",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.keyboard.altAsMeta",
|
|
descriptionKey: "settings.terminal.keyboard.altAsMeta.desc",
|
|
sectionKey: "settings.terminal.section.keyboard",
|
|
},
|
|
{
|
|
id: "terminal-option-arrow-word-jump",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.keyboard.optionArrowWordJump",
|
|
descriptionKey: "settings.terminal.keyboard.optionArrowWordJump.desc",
|
|
sectionKey: "settings.terminal.section.keyboard",
|
|
},
|
|
{
|
|
id: "terminal-kitty-protocol",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.keyboard.kittyProtocol",
|
|
descriptionKey: "settings.terminal.keyboard.kittyProtocol.desc",
|
|
sectionKey: "settings.terminal.section.keyboard",
|
|
},
|
|
{
|
|
id: "terminal-min-contrast",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.accessibility.minimumContrastRatio",
|
|
descriptionKey: "settings.terminal.accessibility.minimumContrastRatio.desc",
|
|
sectionKey: "settings.terminal.section.accessibility",
|
|
},
|
|
|
|
// Terminal — behavior
|
|
{
|
|
id: "terminal-auto-close-on-exit",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.autoCloseOnExit",
|
|
descriptionKey: "settings.terminal.behavior.autoCloseOnExit.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-disconnected-notice",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.disconnectedNotice",
|
|
descriptionKey: "settings.terminal.behavior.disconnectedNotice.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
keywords: ["disconnect", "connection lost", "dialog", "popup", "断开连接", "断线", "弹窗", "提醒"],
|
|
},
|
|
{
|
|
id: "terminal-right-click",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.rightClick",
|
|
descriptionKey: "settings.terminal.behavior.rightClick.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-copy-on-select",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.copyOnSelect",
|
|
descriptionKey: "settings.terminal.behavior.copyOnSelect.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-normalize-text-on-copy",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.normalizeTextOnCopy",
|
|
descriptionKey: "settings.terminal.behavior.normalizeTextOnCopy.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-middle-click",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.middleClick",
|
|
descriptionKey: "settings.terminal.behavior.middleClick.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-word-separators",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.wordSeparators",
|
|
descriptionKey: "settings.terminal.behavior.wordSeparators.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-bracketed-paste",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.bracketedPaste",
|
|
descriptionKey: "settings.terminal.behavior.bracketedPaste.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-auto-upload-clipboard-image",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.autoUploadClipboardImage",
|
|
descriptionKey: "settings.terminal.behavior.autoUploadClipboardImage.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-shift-enter-newline",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.shiftEnterNewline",
|
|
descriptionKey: "settings.terminal.behavior.shiftEnterNewline.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-clear-wipes-scrollback",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.clearWipesScrollback",
|
|
descriptionKey: "settings.terminal.behavior.clearWipesScrollback.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-dynamic-tab-title",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.dynamicTabTitle",
|
|
descriptionKey: "settings.terminal.behavior.dynamicTabTitle.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-osc-notifications",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.oscNotifications",
|
|
descriptionKey: "settings.terminal.behavior.oscNotifications.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-osc52-clipboard",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.behavior.osc52Clipboard",
|
|
descriptionKey: "settings.terminal.behavior.osc52Clipboard.desc",
|
|
sectionKey: "settings.terminal.section.behavior",
|
|
},
|
|
{
|
|
id: "terminal-scrollback-rows",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.scrollback.rows",
|
|
descriptionKey: "settings.terminal.scrollback.desc",
|
|
sectionKey: "settings.terminal.section.scrollback",
|
|
},
|
|
{
|
|
id: "terminal-startup-command-delay",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.startupCommandDelay.label",
|
|
descriptionKey: "settings.terminal.startupCommandDelay.desc",
|
|
sectionKey: "settings.terminal.section.startupCommand",
|
|
},
|
|
{
|
|
id: "terminal-side-panel-auto-open",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.sidePanel.autoOpen",
|
|
descriptionKey: "settings.terminal.sidePanel.autoOpen.desc",
|
|
sectionKey: "settings.terminal.section.sidePanel",
|
|
},
|
|
{
|
|
id: "terminal-keyword-highlight",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.keywordHighlight.title",
|
|
sectionKey: "settings.terminal.section.keywordHighlight",
|
|
keywords: ["highlight", "keyword", "高亮"],
|
|
},
|
|
{
|
|
id: "terminal-local-shell",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.localShell.shell",
|
|
descriptionKey: "settings.terminal.localShell.shell.desc",
|
|
sectionKey: "settings.terminal.section.localShell",
|
|
},
|
|
{
|
|
id: "terminal-verify-host-keys",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.connection.verifyHostKeys",
|
|
descriptionKey: "settings.terminal.connection.verifyHostKeys.desc",
|
|
sectionKey: "settings.terminal.section.connection",
|
|
},
|
|
{
|
|
id: "terminal-ssh-auto-reconnect",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.connection.sshAutoReconnectEnabled",
|
|
descriptionKey: "settings.terminal.connection.sshAutoReconnectEnabled.desc",
|
|
sectionKey: "settings.terminal.section.connection",
|
|
},
|
|
{
|
|
id: "terminal-keepalive-interval",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.connection.keepaliveInterval",
|
|
descriptionKey: "settings.terminal.connection.keepaliveInterval.desc",
|
|
sectionKey: "settings.terminal.section.connection",
|
|
},
|
|
{
|
|
id: "terminal-x11-display",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.connection.x11Display",
|
|
descriptionKey: "settings.terminal.connection.x11Display.desc",
|
|
sectionKey: "settings.terminal.section.connection",
|
|
keywords: ["x11", "display"],
|
|
},
|
|
{
|
|
id: "terminal-server-stats-show",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.serverStats.show",
|
|
descriptionKey: "settings.terminal.serverStats.show.desc",
|
|
sectionKey: "settings.terminal.section.serverStats",
|
|
},
|
|
{
|
|
id: "terminal-renderer",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.rendering.renderer",
|
|
descriptionKey: "settings.terminal.rendering.renderer.desc",
|
|
sectionKey: "settings.terminal.section.rendering",
|
|
keywords: ["webgl", "canvas"],
|
|
},
|
|
{
|
|
id: "terminal-inline-images-enabled",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.inlineImages.enabled",
|
|
descriptionKey: "settings.terminal.inlineImages.enabled.desc",
|
|
sectionKey: "settings.terminal.section.inlineImages",
|
|
keywords: ["sixel", "kitty", "iip"],
|
|
},
|
|
{
|
|
id: "terminal-workspace-focus-style",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.workspaceFocus.style",
|
|
descriptionKey: "settings.terminal.workspaceFocus.style.desc",
|
|
sectionKey: "settings.terminal.section.workspaceFocus",
|
|
},
|
|
{
|
|
id: "terminal-autocomplete-enabled",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.autocomplete.enabled",
|
|
descriptionKey: "settings.terminal.autocomplete.enabled.desc",
|
|
sectionKey: "settings.terminal.section.autocomplete",
|
|
keywords: ["completion", "补全"],
|
|
},
|
|
{
|
|
id: "terminal-password-prompt-assist",
|
|
tab: "terminal",
|
|
labelKey: "settings.terminal.passwordPromptAssist.mode",
|
|
descriptionKey: "settings.terminal.passwordPromptAssist.mode.desc",
|
|
sectionKey: "settings.terminal.section.passwordPromptAssist",
|
|
},
|
|
|
|
// Shortcuts
|
|
{
|
|
id: "shortcuts-scheme",
|
|
tab: "shortcuts",
|
|
labelKey: "settings.shortcuts.scheme.label",
|
|
descriptionKey: "settings.shortcuts.scheme.desc",
|
|
sectionKey: "settings.shortcuts.section.scheme",
|
|
keywords: ["keymap", "hotkey", "快捷键"],
|
|
},
|
|
{
|
|
id: "shortcuts-disable-terminal-font-zoom",
|
|
tab: "shortcuts",
|
|
labelKey: "settings.shortcuts.disableTerminalFontZoom.label",
|
|
descriptionKey: "settings.shortcuts.disableTerminalFontZoom.desc",
|
|
sectionKey: "settings.shortcuts.section.scheme",
|
|
},
|
|
{
|
|
id: "shortcuts-shell-only-tab-numbers",
|
|
tab: "shortcuts",
|
|
labelKey: "settings.shortcuts.shellOnlyTabNumberShortcuts.label",
|
|
descriptionKey: "settings.shortcuts.shellOnlyTabNumberShortcuts.desc",
|
|
sectionKey: "settings.shortcuts.section.scheme",
|
|
},
|
|
{
|
|
id: "shortcuts-show-tab-number-badges",
|
|
tab: "shortcuts",
|
|
labelKey: "settings.shortcuts.showTabNumberBadges.label",
|
|
descriptionKey: "settings.shortcuts.showTabNumberBadges.desc",
|
|
sectionKey: "settings.shortcuts.section.scheme",
|
|
},
|
|
{
|
|
id: "shortcuts-section-custom",
|
|
tab: "shortcuts",
|
|
labelKey: "settings.shortcuts.section.custom",
|
|
sectionKey: "settings.shortcuts.section.custom",
|
|
keywords: ["bindings", "自定义"],
|
|
},
|
|
|
|
// File associations / SFTP
|
|
{
|
|
id: "sftp-double-click",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.doubleClickBehavior",
|
|
descriptionKey: "settings.sftp.doubleClickBehavior.desc",
|
|
},
|
|
{
|
|
id: "sftp-default-view-mode",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.defaultViewMode",
|
|
descriptionKey: "settings.sftp.defaultViewMode.desc",
|
|
},
|
|
{
|
|
id: "sftp-show-hidden-files",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.showHiddenFiles.enable",
|
|
descriptionKey: "settings.sftp.showHiddenFiles.enableDesc",
|
|
sectionKey: "settings.sftp.showHiddenFiles",
|
|
},
|
|
{
|
|
id: "sftp-auto-sync",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.autoSync.enable",
|
|
descriptionKey: "settings.sftp.autoSync.enableDesc",
|
|
sectionKey: "settings.sftp.autoSync",
|
|
},
|
|
{
|
|
id: "sftp-follow-terminal-cwd",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.followTerminalCwd.enable",
|
|
descriptionKey: "settings.sftp.followTerminalCwd.enableDesc",
|
|
sectionKey: "settings.sftp.followTerminalCwd",
|
|
},
|
|
{
|
|
id: "sftp-auto-open-sidebar",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.autoOpenSidebar.enable",
|
|
descriptionKey: "settings.sftp.autoOpenSidebar.enableDesc",
|
|
sectionKey: "settings.sftp.autoOpenSidebar",
|
|
},
|
|
{
|
|
id: "sftp-transfer-concurrency",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.transferConcurrency",
|
|
descriptionKey: "settings.sftp.transferConcurrency.desc",
|
|
},
|
|
{
|
|
id: "sftp-default-opener",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftp.defaultOpener",
|
|
descriptionKey: "settings.sftp.defaultOpener.desc",
|
|
},
|
|
{
|
|
id: "sftp-file-associations-list",
|
|
tab: "file-associations",
|
|
labelKey: "settings.sftpFileAssociations.title",
|
|
descriptionKey: "settings.sftpFileAssociations.desc",
|
|
keywords: ["editor", "open with", "关联"],
|
|
},
|
|
|
|
// AI
|
|
{
|
|
id: "ai-providers",
|
|
tab: "ai",
|
|
aiSubTab: "providers",
|
|
labelKey: "ai.providers",
|
|
descriptionKey: "ai.providers.empty",
|
|
keywords: ["openai", "anthropic", "gemini", "provider"],
|
|
},
|
|
{
|
|
id: "ai-codex",
|
|
tab: "ai",
|
|
aiSubTab: "agents",
|
|
labelKey: "ai.codex",
|
|
descriptionKey: "ai.codex.description",
|
|
keywords: ["codex", "openai"],
|
|
},
|
|
{
|
|
id: "ai-claude",
|
|
tab: "ai",
|
|
aiSubTab: "agents",
|
|
labelKey: "ai.claude.title",
|
|
descriptionKey: "ai.claude.description",
|
|
keywords: ["claude", "anthropic"],
|
|
},
|
|
{
|
|
id: "ai-copilot",
|
|
tab: "ai",
|
|
aiSubTab: "agents",
|
|
labelKey: "ai.copilot.title",
|
|
keywords: ["copilot", "github"],
|
|
},
|
|
{
|
|
id: "ai-cursor",
|
|
tab: "ai",
|
|
aiSubTab: "agents",
|
|
labelKey: "ai.cursor.title",
|
|
keywords: ["cursor"],
|
|
},
|
|
{
|
|
id: "ai-codebuddy",
|
|
tab: "ai",
|
|
aiSubTab: "agents",
|
|
labelKey: "ai.codebuddy.title",
|
|
descriptionKey: "ai.codebuddy.description",
|
|
},
|
|
{
|
|
id: "ai-default-agent",
|
|
tab: "ai",
|
|
aiSubTab: "agents",
|
|
labelKey: "ai.defaultAgent",
|
|
descriptionKey: "ai.defaultAgent.description",
|
|
},
|
|
{
|
|
id: "ai-chat-shortcuts-selection",
|
|
tab: "ai",
|
|
aiSubTab: "tools",
|
|
labelKey: "ai.chatShortcuts.selectionAction",
|
|
descriptionKey: "ai.chatShortcuts.selectionAction.description",
|
|
sectionKey: "ai.chatShortcuts.title",
|
|
},
|
|
{
|
|
id: "ai-tool-access-mode",
|
|
tab: "ai",
|
|
aiSubTab: "tools",
|
|
labelKey: "ai.toolAccess.title",
|
|
descriptionKey: "ai.toolAccess.description",
|
|
},
|
|
{
|
|
id: "ai-external-mcp",
|
|
tab: "ai",
|
|
aiSubTab: "tools",
|
|
labelKey: "ai.externalMcp.title",
|
|
keywords: ["mcp"],
|
|
},
|
|
{
|
|
id: "ai-user-skills",
|
|
tab: "ai",
|
|
aiSubTab: "tools",
|
|
labelKey: "ai.userSkills.title",
|
|
descriptionKey: "ai.userSkills.description",
|
|
},
|
|
{
|
|
id: "ai-quick-messages",
|
|
tab: "ai",
|
|
aiSubTab: "tools",
|
|
labelKey: "ai.quickMessages.title",
|
|
descriptionKey: "ai.quickMessages.description",
|
|
},
|
|
{
|
|
id: "ai-web-search-enable",
|
|
tab: "ai",
|
|
aiSubTab: "search",
|
|
labelKey: "ai.webSearch.enable",
|
|
descriptionKey: "ai.webSearch.enable.description",
|
|
sectionKey: "ai.webSearch.title",
|
|
keywords: ["tavily", "brave", "web search"],
|
|
},
|
|
{
|
|
id: "ai-web-search-provider",
|
|
tab: "ai",
|
|
aiSubTab: "search",
|
|
labelKey: "ai.webSearch.provider",
|
|
descriptionKey: "ai.webSearch.provider.description",
|
|
sectionKey: "ai.webSearch.title",
|
|
},
|
|
{
|
|
id: "ai-safety-permission-mode",
|
|
tab: "ai",
|
|
aiSubTab: "safety",
|
|
labelKey: "ai.safety.permissionMode",
|
|
descriptionKey: "ai.safety.permissionMode.description",
|
|
sectionKey: "ai.safety.title",
|
|
keywords: ["confirm", "observer", "auto", "权限"],
|
|
},
|
|
{
|
|
id: "ai-safety-command-timeout",
|
|
tab: "ai",
|
|
aiSubTab: "safety",
|
|
labelKey: "ai.safety.commandTimeout",
|
|
descriptionKey: "ai.safety.commandTimeout.description",
|
|
sectionKey: "ai.safety.title",
|
|
},
|
|
{
|
|
id: "ai-safety-response-idle-timeout",
|
|
tab: "ai",
|
|
aiSubTab: "safety",
|
|
labelKey: "ai.safety.responseIdleTimeout",
|
|
descriptionKey: "ai.safety.responseIdleTimeout.description",
|
|
sectionKey: "ai.safety.title",
|
|
keywords: ["response", "request", "idle", "timeout", "响应", "请求", "超时"],
|
|
},
|
|
{
|
|
id: "ai-safety-blocklist",
|
|
tab: "ai",
|
|
aiSubTab: "safety",
|
|
labelKey: "ai.safety.blocklist",
|
|
descriptionKey: "ai.safety.blocklist.description",
|
|
sectionKey: "ai.safety.title",
|
|
},
|
|
{
|
|
id: "ai-safety-grants",
|
|
tab: "ai",
|
|
aiSubTab: "safety",
|
|
labelKey: "ai.safety.grants.heading",
|
|
descriptionKey: "ai.safety.grants.description",
|
|
sectionKey: "ai.safety.grants.title",
|
|
},
|
|
|
|
// Sync
|
|
{
|
|
id: "sync-providers",
|
|
tab: "sync",
|
|
syncSubTab: "providers",
|
|
labelKey: "cloudSync.providers.title",
|
|
keywords: ["github", "webdav", "s3", "onedrive", "google", "同步"],
|
|
},
|
|
{
|
|
id: "sync-auto-sync",
|
|
tab: "sync",
|
|
syncSubTab: "status",
|
|
labelKey: "cloudSync.autoSync.title",
|
|
descriptionKey: "cloudSync.autoSync.desc",
|
|
},
|
|
{
|
|
id: "sync-strategy",
|
|
tab: "sync",
|
|
syncSubTab: "status",
|
|
labelKey: "cloudSync.strategy.title",
|
|
descriptionKey: "cloudSync.strategy.desc",
|
|
},
|
|
{
|
|
id: "sync-local-backups",
|
|
tab: "sync",
|
|
syncSubTab: "status",
|
|
labelKey: "cloudSync.localBackups.title",
|
|
descriptionKey: "cloudSync.localBackups.desc",
|
|
keywords: ["backup", "备份"],
|
|
},
|
|
{
|
|
id: "sync-clear-local",
|
|
tab: "sync",
|
|
syncSubTab: "status",
|
|
labelKey: "cloudSync.clearLocal.title",
|
|
descriptionKey: "cloudSync.clearLocal.desc",
|
|
},
|
|
|
|
// System
|
|
{
|
|
id: "system-update",
|
|
tab: "system",
|
|
labelKey: "settings.update.title",
|
|
descriptionKey: "settings.update.hint",
|
|
keywords: ["update", "升级"],
|
|
},
|
|
{
|
|
id: "system-auto-update",
|
|
tab: "system",
|
|
labelKey: "settings.update.autoUpdateEnabled",
|
|
descriptionKey: "settings.update.autoUpdateEnabledDesc",
|
|
sectionKey: "settings.update.title",
|
|
},
|
|
{
|
|
id: "system-auto-launch",
|
|
tab: "system",
|
|
labelKey: "settings.autoLaunch.enabled",
|
|
descriptionKey: "settings.autoLaunch.enabledDesc",
|
|
sectionKey: "settings.autoLaunch.title",
|
|
keywords: ["startup", "login", "autostart", "boot", "开机", "自启动", "开机启动"],
|
|
},
|
|
{
|
|
id: "system-network-proxy-mode",
|
|
tab: "system",
|
|
labelKey: "settings.system.networkProxy.mode",
|
|
descriptionKey: "settings.system.networkProxy.description",
|
|
sectionKey: "settings.system.networkProxy.title",
|
|
keywords: ["proxy", "http", "代理"],
|
|
},
|
|
{
|
|
id: "system-app-lock",
|
|
tab: "system",
|
|
labelKey: "settings.appLock.title",
|
|
descriptionKey: "settings.appLock.description",
|
|
keywords: ["app lock", "applock", "lock", "应用锁", "锁屏", "idle", "timeout", "无操作"],
|
|
},
|
|
{
|
|
id: "system-credentials",
|
|
tab: "system",
|
|
labelKey: "settings.system.credentials.title",
|
|
descriptionKey: "settings.system.credentials.status",
|
|
keywords: ["keychain", "safeStorage"],
|
|
},
|
|
{
|
|
id: "system-temp-directory",
|
|
tab: "system",
|
|
labelKey: "settings.system.tempDirectory",
|
|
descriptionKey: "settings.system.tempDirectoryHint",
|
|
},
|
|
{
|
|
id: "system-crash-logs",
|
|
tab: "system",
|
|
labelKey: "settings.system.crashLogs.title",
|
|
descriptionKey: "settings.system.crashLogs.description",
|
|
},
|
|
{
|
|
id: "system-startup-landing",
|
|
tab: "system",
|
|
labelKey: "settings.sessionRestore.startupLanding",
|
|
descriptionKey: "settings.sessionRestore.startupLandingDesc",
|
|
sectionKey: "settings.sessionRestore.title",
|
|
keywords: ["startup", "launch", "local terminal", "home"],
|
|
},
|
|
{
|
|
id: "system-session-restore",
|
|
tab: "system",
|
|
labelKey: "settings.sessionRestore.restorePreviousSession",
|
|
descriptionKey: "settings.sessionRestore.restorePreviousSessionDesc",
|
|
sectionKey: "settings.sessionRestore.title",
|
|
},
|
|
{
|
|
id: "system-restore-terminal-cwd",
|
|
tab: "system",
|
|
labelKey: "settings.sessionRestore.restoreTerminalCwd",
|
|
descriptionKey: "settings.sessionRestore.restoreTerminalCwdDesc",
|
|
sectionKey: "settings.sessionRestore.title",
|
|
},
|
|
{
|
|
id: "system-session-logs-enable",
|
|
tab: "system",
|
|
labelKey: "settings.sessionLogs.enableAutoSave",
|
|
descriptionKey: "settings.sessionLogs.enableAutoSaveDesc",
|
|
sectionKey: "settings.sessionLogs.title",
|
|
},
|
|
{
|
|
id: "system-ssh-deep-link",
|
|
tab: "system",
|
|
labelKey: "settings.sshDeepLink.enable",
|
|
descriptionKey: "settings.sshDeepLink.enableDesc",
|
|
sectionKey: "settings.sshDeepLink.title",
|
|
},
|
|
{
|
|
id: "system-jms-deep-link",
|
|
tab: "system",
|
|
labelKey: "settings.jmsDeepLink.enable",
|
|
descriptionKey: "settings.jmsDeepLink.enableDesc",
|
|
sectionKey: "settings.jmsDeepLink.title",
|
|
},
|
|
{
|
|
id: "system-explorer-context-menu",
|
|
tab: "system",
|
|
labelKey: "settings.explorerContextMenu.enable",
|
|
descriptionKey: "settings.explorerContextMenu.enableDesc",
|
|
sectionKey: "settings.explorerContextMenu.title",
|
|
},
|
|
{
|
|
id: "system-ssh-debug-logs",
|
|
tab: "system",
|
|
labelKey: "settings.sshDebugLogs.enable",
|
|
descriptionKey: "settings.sshDebugLogs.enableDesc",
|
|
sectionKey: "settings.sshDebugLogs.title",
|
|
},
|
|
{
|
|
id: "system-global-hotkey-enabled",
|
|
tab: "system",
|
|
labelKey: "settings.globalHotkey.enabled",
|
|
descriptionKey: "settings.globalHotkey.enabledDesc",
|
|
sectionKey: "settings.globalHotkey.title",
|
|
},
|
|
{
|
|
id: "system-global-hotkey-toggle",
|
|
tab: "system",
|
|
labelKey: "settings.globalHotkey.toggleWindow",
|
|
descriptionKey: "settings.globalHotkey.toggleWindowDesc",
|
|
sectionKey: "settings.globalHotkey.title",
|
|
},
|
|
{
|
|
id: "system-close-to-tray",
|
|
tab: "system",
|
|
labelKey: "settings.globalHotkey.closeToTray",
|
|
descriptionKey: "settings.globalHotkey.closeToTrayDesc",
|
|
sectionKey: "settings.globalHotkey.title",
|
|
},
|
|
|
|
// Plugins
|
|
{
|
|
id: "plugins-root",
|
|
tab: "plugins",
|
|
labelKey: "settings.plugins.title",
|
|
descriptionKey: "settings.plugins.description",
|
|
keywords: ["extension", "plugin", "插件"],
|
|
},
|
|
];
|
|
|
|
export function settingsAnchorDomId(anchorId: string): string {
|
|
return `settings-anchor-${anchorId}`;
|
|
}
|