feat: 终端全局快捷键.

This commit is contained in:
lijiahang
2024-01-16 17:25:01 +08:00
parent 80829b51c1
commit 220a0d4035
9 changed files with 202 additions and 146 deletions

View File

@@ -57,7 +57,7 @@ export default defineStore('terminal', {
pluginsSetting: {} as TerminalPluginsSetting,
sessionSetting: {} as TerminalSessionSetting,
shortcutSetting: {
enabled: true,
enabled: false,
keys: []
} as TerminalShortcutSetting,
},
@@ -79,7 +79,16 @@ export default defineStore('terminal', {
// 更新默认主题偏好
await this.updateTerminalPreference(TerminalPreferenceItem.THEME, data.theme);
}
// 选择赋值
// 移除禁用的快捷键
if (data.shortcutSetting?.enabled) {
data.shortcutSetting.keys = data.shortcutSetting.keys.filter(s => s.enabled);
} else {
data.shortcutSetting = {
enabled: false,
keys: []
};
}
// 选择赋值 (不能修改引用)
const keys = Object.keys(this.preference);
keys.forEach(key => {
const item = data[key as keyof TerminalPreference];

View File

@@ -76,9 +76,10 @@ export interface TerminalShortcutSetting {
// 终端快捷键
export interface TerminalShortcutKey {
option: string;
item: string;
ctrlKey: boolean;
shiftKey: boolean;
altKey: boolean;
code: string;
enabled: boolean;
}