ctrl+space 快速 console.log

This commit is contained in:
fofolee 2022-05-15 00:59:48 +08:00
parent adfc2b5130
commit ac3a1e235a
3 changed files with 34 additions and 16 deletions

View File

@ -368,8 +368,9 @@ export default {
});
},
//
runCurrentCommand() {
runCurrentCommand(cmd) {
let command = _.cloneDeep(this.quickcommandInfo);
if (cmd) command.cmd = cmd;
command.output =
this.$refs.sidebar?.currentCommand.output ||
(command.program === "html" ? "html" : "text");
@ -382,7 +383,7 @@ export default {
command.cursorPosition = this.$refs.editor.getCursorPosition();
this.$root.utools.putDB(command, "cfg_codeHistory");
},
monacoKeyStroke(event) {
monacoKeyStroke(event, data) {
switch (event) {
case "run":
this.runCurrentCommand();
@ -390,6 +391,10 @@ export default {
case "save":
this.saveCurrentCommand();
break;
case "log":
if (this.quickcommandInfo.program !== "quickcommand") return;
this.runCurrentCommand(`console.log(${data})`);
break;
default:
break;
}

View File

@ -38,6 +38,9 @@
:textbtn="!enableHtml"
:imagebtn="!enableHtml && isDataUrl"
@showImg="showBase64Img"
:style="{
height: headerHeight + 'px',
}"
/>
</div>
<div
@ -143,17 +146,12 @@ export default {
setTimeout(() => {
utools.outPlugin();
}, 500);
let resultOpts = { outPlugin, action, earlyExit };
switch (currentCommand.program) {
case "quickcommand":
window.runCodeInSandbox(
currentCommand.cmd,
(stdout, stderr) => {
this.handleResult(stdout, stderr, {
outPlugin,
action,
earlyExit,
});
},
(stdout, stderr) => this.handleResult(stdout, stderr, resultOpts),
{ enterData: this.$root.enterData }
);
break;
@ -165,13 +163,7 @@ export default {
currentCommand.cmd,
this.getCommandOpt(currentCommand),
currentCommand.output === "terminal",
(stdout, stderr) => {
this.handleResult(stdout, stderr, {
outPlugin,
action,
earlyExit,
});
}
(stdout, stderr) => this.handleResult(stdout, stderr, resultOpts)
);
this.listenStopSign();
break;

View File

@ -232,6 +232,27 @@ export default {
that.$emit("keyStroke", "save");
}
);
// ctrl + space console.log
this.rawEditor.addCommand(
monaco.KeyMod.CtrlCmd | monaco.KeyCode.Space,
() => {
that.$emit("keyStroke", "log", that.getSelectionOrLineContent());
}
);
},
getSelectionOrLineContent() {
let selection = this.rawEditor.getSelection();
let range = new monaco.Range(
selection.startLineNumber,
selection.startColumn,
selection.endLineNumber,
selection.endColumn
);
let model = this.rawEditor.getModel();
return (
model.getValueInRange(range) ||
model.getLineContent(selection.startLineNumber)
);
},
},
beforeUnmount() {