在使用嵌入在网页中的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"]
});
任何提示表示赞赏!
答案 0 :(得分:0)
不确定,但是我认为这是因为delete
是保留字。您所有的属性都将具有相同的颜色。但是保留字将具有不同的颜色。