При использовании monaco-editor (0.15.6), встроенного в веб-страницу для редактирования javascript, при выделении / раскрашивании синтаксиса отображаются неправильные цвета для свойств / функций объекта, если имя свойства или имя функции соответствует ключевому слову языка (например, ' удалить "или" бросить "). Подсветка / раскраска синтаксиса в 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"]
});
Любые советы приветствуются!