摩纳哥编辑器JavaScript语法突出显示关键字

摩纳哥编辑器JavaScript语法突出显示关键字,javascript,syntax-highlighting,monaco-editor,Javascript,Syntax Highlighting,Monaco Editor,当使用网页中嵌入的monaco editor(0.15.6)编辑javascript时,如果属性名或函数名对应于语言关键字(如“delete”或“throw”),则语法高亮显示/着色会为对象属性/函数显示不正确的颜色。VS代码中的语法高亮显示/着色并没有同样的问题,所以想知道在浏览器中使用monaco编辑器时是否有方法修复/覆盖此行为。 您会注意到名为“prop2”的属性具有正确的颜色,但名为“delete”的属性没有。主题和语言设置如下: monaco.editor.setTheme('

当使用网页中嵌入的monaco editor(0.15.6)编辑javascript时,如果属性名或函数名对应于语言关键字(如“delete”或“throw”),则语法高亮显示/着色会为对象属性/函数显示不正确的颜色。VS代码中的语法高亮显示/着色并没有同样的问题,所以想知道在浏览器中使用monaco编辑器时是否有方法修复/覆盖此行为。

您会注意到名为“prop2”的属性具有正确的颜色,但名为“delete”的属性没有。主题和语言设置如下:

  monaco.editor.setTheme('vs-dark');
  monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
    noSemanticValidation: false,
    noSyntaxValidation: false,
  });
  monaco.languages.typescript.javascriptDefaults.setCompilerOptions({
    allowNonTsExtensions: true,
    experimentalDecorators: true,
    esModuleInterop: true,
    allowSyntheticDefaultImports: true,
    noImplicitAny: true,
    module: monaco.languages.typescript.ModuleKind.ESNext,
    target: monaco.languages.typescript.ScriptTarget.ESNext,
    allowJs: true,
    checkJs: true,
    noUnusedLocals: true,
    noFallthroughCasesInSwitch: true,
    noImplicitThis: true,
    typeRoots: ["node_modules/@types"]
  });

任何提示谢谢

不确定,但我认为这是因为
delete
是一个保留字。您的所有属性将具有相同的颜色。但是保留的单词会有不同的颜色。

是的,我知道颜色的原因是单词是保留的;然而,我们希望避免这种行为。VS代码没有这样的行为-这是一种低劣的用户体验-因此,寻求如何避免/覆盖这种行为的建议。