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

时间:2019-01-09 22:59:09

标签: javascript syntax-highlighting monaco-editor

在使用嵌入在网页中的monaco-editor(0.15.6)来编辑javascript时,如果属性名称或函数名称对应于语言关键字(例如“删除”或“抛出”)。 VS Code中的语法突出显示/着色没有相同的问题,因此想知道在浏览器中使用monaco-editor时是否有一种方法可以解决/替代此行为。 Here is an example of the highlighting when an object has a property named '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 :(得分:0)

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