Монако-редактор JavaScript Подсветка синтаксиса ключевых слов - PullRequest
0 голосов
/ 10 января 2019

При использовании 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"]
  });

Любые советы приветствуются!

1 Ответ

0 голосов
/ 15 января 2019

Не уверен, но я думаю, что это потому, что delete - зарезервированное слово. Все ваши свойства будут иметь одинаковые цвета. Но зарезервированные слова будут иметь другой цвет.

...