摩纳哥编辑 - 如何使一些领域只读

时间:2017-10-27 20:10:12

标签: javascript typescript monaco-editor visual-studio-monaco

我试图以一种文本内容的某些区域是只读的方式配置Monaco编辑器。更准确地说,我希望第一行和最后一行是只读的。示例如下:

public something(someArgument) { // This is readonly
// This is where the user can put his code
// more user code...
} // readonly again

我已经使用Ace编辑器做了类似的事情,但我无法找到与摩纳哥合作的方法。 有一个ModelContentChangedEvent可以注册一个监听器,但是在发生更改后它被解雇了(所以为时已晚,无法阻止任何事情)。 有更多摩纳哥经验的人是否知道如何做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:3)

只要光标位于达到只读范围时,只需更改光标位置:

// line 1 & 2 is readonly:
editor.onDidChangeCursorPosition(function (e) {
    if (e.position.lineNumber < 3) {
        this.editor.setPosition({
            lineNumber:3,
            column: 1
        });
    }
});