monoca 添加快捷键

This commit is contained in:
fofolee
2022-04-12 22:00:21 +08:00
parent 8c5996bc93
commit 261aafacce
2 changed files with 28 additions and 18 deletions

View File

@@ -125,8 +125,7 @@
icon="play_arrow"
label="运行"
@click="runCurrentCommand()"
><q-tooltip>{{ commandString }}+b</q-tooltip></q-btn
>
></q-btn>
<q-btn
flat
dense
@@ -136,8 +135,7 @@
icon="save"
label="保存"
@click="saveCurrentCommand()"
><q-tooltip>{{ commandString }}+s</q-tooltip></q-btn
>
></q-btn>
</q-btn-group>
</div>
</div>
@@ -186,7 +184,6 @@ export default {
resultMaxLength: 10000,
showSidebar: this.action.type !== "run",
isRunCodePage: this.action.type === "run",
commandString: this.$q.platform.is.mac ? "⌘" : "ctrl",
};
},
props: {
@@ -213,7 +210,6 @@ export default {
methods: {
init() {
window.commandEditor = this;
this.bindKeys();
let quickCommandInfo =
this.action.type === "run"
? this.$utools.getDB(this.$utools.DBPRE.CFG + "preferences")
@@ -230,14 +226,6 @@ export default {
if (this.action.type === "run")
this.$profile.codeHistory = this.quickcommandInfo;
},
// 绑定快捷键
bindKeys() {
let that = this;
// ctrl+b 运行
this.$refs.editor.addEditorCommand(2048 | 32, function () {
that.runCurrentCommand();
});
},
programChanged(value) {
this.setLanguage(value);
this.$refs.sidebar?.setIcon(value);
@@ -339,7 +327,7 @@ export default {
},
// 保存
saveCurrentCommand() {
let updatedData = this.$refs.sidebar.SaveMenuData();
let updatedData = this.$refs.sidebar?.SaveMenuData();
if (!updatedData) return;
Object.assign(this.quickcommandInfo, _.cloneDeep(updatedData));
let newQuickcommandInfo = _.cloneDeep(this.quickcommandInfo);

View File

@@ -21,6 +21,8 @@ export default {
data() {
return {
editor: null,
wordWrap: "off",
commandString: this.$q.platform.is.mac ? "⌘" : "ctrl",
};
},
mounted() {
@@ -54,6 +56,7 @@ export default {
this.registerLanguage();
this.setEditorTheme();
this.listenEditroValue();
this.bindKeys();
},
loadTypes() {
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
@@ -154,9 +157,6 @@ export default {
setEditorLanguage(language) {
monaco.editor.setModelLanguage(this.rawEditor.getModel(), language);
},
addEditorCommand(key, callback) {
this.rawEditor.addCommand(key, callback);
},
repacleEditorSelection(text) {
var selection = this.rawEditor.getSelection();
var range = new monaco.Range(
@@ -182,6 +182,28 @@ export default {
this.$parent.quickcommandInfo.cmd = this.getEditorValue();
});
},
bindKeys() {
let that = this;
// ctrl + b 运行
this.rawEditor.addCommand(
monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyB,
() => {
that.$parent.runCurrentCommand();
}
);
// alt + z 换行
this.rawEditor.addCommand(monaco.KeyMod.Alt | monaco.KeyCode.KeyZ, () => {
that.wordWrap = that.wordWrap === "off" ? "on" : "off";
that.rawEditor.updateOptions({ wordWrap: that.wordWrap });
});
// ctrl + s 保存
this.rawEditor.addCommand(
monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS,
() => {
that.$parent.saveCurrentCommand();
}
);
},
},
};
</script>