编辑器适配屏幕缩放
Diff Editor
- 通过
monaco.editor.createDiffEditor
方法创建 diff editor 实例; - 通过
diffEditorIns.setModel
方法设置 diff 的原始值和现在的值diffEditorIns.setModel({
original: monaco.editor.createModel(originalValue, 'javascript'),
modified: monaco.editor.createModel(nowValue, 'javascript'),
});
更新编辑器 options
通过 updateOptions
来更新,比如
editorIns.updateOptions({
readOnly: true,
});
自定义语言高亮
如果是自定义的语言需要先注册自定义语言名称
monaco.languages.register({ id: 'configItem' });
定义高亮规则 setMonarchTokensProvider 文档 ```typescript // 如果是已有语言高亮则不需要第一步直接设置高亮规则就可以 monaco.languages.setMonarchTokensProvider(‘yaml’, { tokenizer: { root: [[tokenRegx, { token: ‘keyword’ }]], }, });
// 自定义语言 monaco.languages.setMonarchTokensProvider(‘configItem’, { tokenizer: { root: [[tokenRegx, { token: ‘keyword’ }]], }, });
<a name="iJhC8"></a>
###
<a name="DCJ8V"></a>
### 标记错误
通过 `monaco.editor.setModelMarkers` 方法标记位置点,[文档](https://microsoft.github.io/monaco-editor/api/modules/monaco.editor.html#setmodelmarkers)
```typescript
monaco.editor.setModelMarkers(
model,
'javascript',
[{
startLineNumber: 2,
endLineNumber: 2,
startColumn: 1,
endColumn: 10,
severity: monaco.MarkerSeverity.Error,
message: `语法错误`,
}],
);