czw913 2022-08-29 19:29 采纳率: 0%
浏览 13

monaco-editor缩进按键异常

问题遇到的现象和发生背景

monaco-editor(v0.34.0)+vite+vue3.2,每行开始位置按tab键或空格键无法输入,会被自动退回,或者在大括号中,关键字之后无法按tab键或空格键

问题相关代码,请勿粘贴截图

import * as monaco from "monaco-editor";
import jsonWorker from "monaco-editor/esm/vs/language/json/json.worker?worker";
import cssWorker from "monaco-editor/esm/vs/language/css/css.worker?worker";
import htmlWorker from "monaco-editor/esm/vs/language/html/html.worker?worker";
import tsWorker from "monaco-editor/esm/vs/language/typescript/ts.worker?worker";
import EditorWorker from "monaco-editor/esm/vs/editor/editor.worker?worker";
var monacoCodeEditor: monaco.editor.IStandaloneCodeEditor = null;

self.MonacoEnvironment = {
getWorker(_: string, label: string) {
if (label === "json") {
return new jsonWorker();
}
if (label === "css" || label === "scss" || label === "less") {
return new cssWorker();
}
if (label === "html" || label === "handlebars" || label === "razor") {
return new htmlWorker();
}
if (["typescript", "javascript"].includes(label)) {
return new tsWorker();
}
return new EditorWorker();
},
};

monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ESNext,
moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
module: monaco.languages.typescript.ModuleKind.CommonJS,
//typeRoots: ["node_modules/@types"],
types: ["node"],
//allowNonTsExtensions: true,
allowJs: true,
});
monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
noSemanticValidation: true,
noSyntaxValidation: true,
});

onMounted(() => {
monacoCodeEditor = monaco.editor.create(codeEditor.value, {
value: operation.code,
language: "typescript",
fontSize: 13,
tabSize: 2,
theme: "vs-dark",
automaticLayout: true, // 自适应布局
foldingStrategy: "auto", // 代码可分小段折叠
overviewRulerBorder: false, // 不要滚动条的边框
/autoIndent: "none",
autoClosingBrackets: 'never', // 是否自动添加结束括号(包括中括号) "always" | "languageDefined" | "beforeWhitespace" | "never"
autoClosingDelete: 'never', // 是否自动删除结束括号(包括中括号) "always" | "never" | "auto"
autoClosingQuotes: 'never', // 是否自动添加结束的单引号 双引号 "always" | "languageDefined" | "beforeWhitespace" | "never"
renderWhitespace:"none",
tabIndex:2,
tabCompletion:"on"
/
});

monacoCodeEditor.onDidChangeModelContent(() => {
monacoCodeEditor.getAction("editor.action.formatDocument").run();
operation.code = monacoCodeEditor.getValue();
});
});

运行结果及报错内容

img

求指点如何设置可正常缩进

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-08-29 20:03
    关注
    评论

报告相同问题?

问题事件

  • 创建了问题 8月29日

悬赏问题

  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题