当使用嵌入在网页中的 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"]
});
感谢任何提示!
最佳答案
不确定,但我认为这是因为 delete
是一个保留字。您的所有属性都将具有相同的颜色。但是保留字会有不同的颜色。
关于javascript - Monaco-Editor JavaScript 关键词语法高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54119653/