18

テキストコンテンツの特定の領域が読み取り専用になるように Monaco Editor を構成しようとしています。より正確には、最初と最後の行を読み取り専用にしたいです。以下の例:

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 に答える