Geo*_*uer 0 javascript codemirror
我刚刚将CodeMirror升级到最新版本,现在有以下代码:
// clear previous errors from editor window
for (var i = 0; i < layoutCodeEditor.lineCount(); i++) {
layoutCodeEditor.clearMarker(i);
layoutCodeEditor.setLineClass(i, null, null);
}
var valid = JSLINT(code);
var jsLintError = "";
if (!valid) {
jsLintError = JSLINT.error_report(JSLINT.data());
_.chain(JSLINT.errors).compact().each(function(e){
// show markers in the code edit window against lines with Jslint errors
layoutCodeEditor.setMarker((+e.line) - 1, "?", "errors");
layoutCodeEditor.setLineClass(+(e.line) - 1, null, "errorLine");
})
}
Run Code Online (Sandbox Code Playgroud)
似乎已删除了setMarker/clearMarker和setLineClass函数.现在他们的等价物是什么?
这些更改以及许多其他更改都包含在CodeMirror站点的" 升级到版本3"页面中.
由于移动到多个排水沟,标记功能已发生变化:
天沟模型
在CodeMirror 2.x中,只有一个装订线,并且创建的线标记
setMarker必须以某种方式与行号(如果存在)共存.版本3允许您按类名指定一排排水沟,用于setGutterMarker在单个排水沟中添加或移除标记,以及清除整个排水沟clearGutter.现在,天沟标记被指定为DOM节点,而不是HTML片段.排水沟不再与内容一起水平滚动.已删除fixedGutter选项(因为它现在是唯一的行为).
线类更改更直接:
行CSS类
该
setLineClass方法已被替换为addLineClass和removeLineClass,它允许对连接到线路的类进行更多模块化控制.