gpt4 book ai didi

javascript - 修改Ajax.org Cloud9 Editor(Ace Editor)的装订线

转载 作者:数据小太阳 更新时间:2023-10-29 06:01:37 25 4
gpt4 key购买 nike

我的网站上嵌入了一个 Ace 编辑器,我允许用户在其中输入内容。目前,内置函数自动显示插入的每一行的行号,如下所示:

Line number automatically inserted

有没有办法让我手动设置gutter中的内容,然后再读取其中的值?
例如:与其将其设置为 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。

最佳答案

您可以为装订线设置自定义渲染器

editor.session.gutterRenderer =  {
getWidth: function(session, lastLineNumber, config) {
return lastLineNumber.toString().length * config.characterWidth;
},
getText: function(session, row) {
return String.fromCharCode(row + 65);
}
};

关于javascript - 修改Ajax.org Cloud9 Editor(Ace Editor)的装订线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28311086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com