6

私の Web サイトには、ユーザーが入力できる Ace エディターが埋め込まれています。現在、組み込み関数は、次のように挿入されたすべての行の行番号を自動的に表示します。

自動挿入される行番号

ガターのコンテンツを手動で設定し、後でその値を読み取る方法はありますか?
例:1,2,3に設定する代わりに...のようにしたい

A abc
B def

その後、「abc」を含む行にアクセスすると、その行のガターにある「A」の値を読みたいと思います。

アップデート:

Ace Editor のガターをカスタマイズするには、「更新」機能をオーバーライドする必要があります。

ace.require("ace/layer/my_gutter")
//...

define('ace/layer/my_gutter', ['require', 'exports', 'ace/lib/dom'], function(require, exports, module) {

    var dom = require("ace/lib/dom"); 
    require("ace/layer/gutter").Gutter.prototype.update = update = 
        function(config) { 
            //...
        }; 
});

私が必要とするこの小さな変更のために、関数はかなり長くて複雑です。だから、私はそれに行きませんでした。

これを行うためのより簡単な方法を提供する別のエディターCodeMirrorを見つけ、CodeMirror に切り替えました。

4

1 に答える 1

10

でガターのカスタムレンダラーを設定できます

editor.session.gutterRenderer =  {
    getWidth: function(session, lastLineNumber, config) {
        return lastLineNumber.toString().length * config.characterWidth;
    },
    getText: function(session, row) {
        return String.fromCharCode(row + 65);
    }
};
于 2015-02-09T06:56:36.777 に答える