多编辑器的令牌生成器在摩纳哥相互影响

时间:2019-01-31 04:25:43

标签: monaco-editor

我尝试在一页上使用多个编辑器,并且我需要自定义语言。

项目代码:https://github.com/Microsoft/monaco-editor/files/2815668/monaco.zip

我使用官方示例来定制语言,并将其与yaml混合在一起,然后放在一页上。但是,标记生成器将只能在一个编辑器上运行。如果我为Yaml编辑器设置了主题,例如“ vs”,则自定义语言将无法正常工作(tokenizer无法正常工作);如果我为Yaml编辑器跳过了主题,则自定义lang将可以正常工作,但yaml tokenizer会停止工作。

有办法使它工作吗?

class JsonEditor extends Component<Props, State> {
  componentDidMount() {
    const model = monaco.editor.createModel(this.getCode(), 'mySpecialLanguage');
    monaco.editor.create(document.getElementById('json-editor')!, {
      // theme: 'myCoolTheme',
      model
    });
  }
...
class SchemaEditor extends Component<Props, State> {
  editor: monaco.editor.IStandaloneCodeEditor | null = null;

  componentDidMount() {
    const model = monaco.editor.createModel('asdf: sadga', 'yaml');
    this.editor = monaco.editor.create(
      document.getElementById('schema-editor')!,
      {
        model,
        // theme: 'vs-dark'
      }
    );
  }
...

0 个答案:

没有答案