摩纳哥编辑器JavaScript关键字语法高亮

3
使用monaco-editor (0.15.6)在网页中编辑javascript时,如果属性名或函数名与语言关键字(如'delete'或'throw')对应,则对象属性/函数的语法高亮/着色显示不正确。在VS Code中的语法高亮/着色没有这个问题,因此想知道在浏览器中使用monaco-editor时是否有修复/覆盖此行为的方法。 这是一个示例,当对象具有名为'delete'的属性时,突出显示 您会注意到名为'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"]
  });

有任何建议都会受到欢迎!

1个回答

0

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


是的,我理解着色的原因是该单词被保留;但是我希望避免这种行为。VS Code不会表现出这种方式 - 这是一种劣质的用户体验 - 因此寻求如何避免/覆盖此行为的建议。 - crazydevopsguy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接