18

我正在尝试以文本内容的某些区域为只读的方式配置摩纳哥编辑器。更准确地说,我希望第一行和最后一行是只读的。下面的例子:

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

我已经用 Ace Editor 做过类似的事情,但我想不出用 Monaco 做这件事的方法。您可以在ModelContentChangedEvent其中注册一个侦听器,但在更改发生后它会被触发(为时已晚,无法阻止任何事情)。有更多摩纳哥经验的人知道如何做到这一点吗?

提前致谢!

4

1 回答 1

3

只需在光标到达您的只读范围时更改光标位置:

// line 1 & 2 is readonly:
editor.onDidChangeCursorPosition(function (e) {
    if (e.position.lineNumber < 3) {
        this.editor.setPosition({
            lineNumber:3,
            column: 1
        });
    }
});
于 2017-12-21T22:52:01.740 回答