首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在代码错误中显示行错误?

问是否在代码错误中显示行错误?
EN

Stack Overflow用户
提问于 2012-12-23 07:33:24
回答 1查看 4.7K关注 0票数 0

我刚刚将CodeMirror升级到了最新版本,下面的代码现在崩溃了:

代码语言:javascript
复制
        // 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");                    
            })
        }

似乎setMarker/clearMarker和setLineClass函数已经被移除了。现在它们的等价物是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-23 07:47:22

CodeMirror站点上的Upgrading to version 3页面中介绍了这些更改以及其他许多更改。

由于移动到多个边沟,标记功能发生了变化:

Gutter model

在CodeMirror 2.x中,只有一条间隔线,使用setMarker创建的线标记必须以某种方式与线号共存(如果存在)。版本3允许您指定一个边沟数组,by class name,使用setGutterMarker在单个边沟中添加或删除标记,并使用clearGutter清除整个边沟。现在,间隔标记被指定为DOM节点,而不是HTML代码段。

栏间距不再随内容水平滚动。删除了fixedGutter选项(因为它现在是唯一的行为)。

line类的更改更简单:

Line CSS classes

setLineClass方法已被addLineClass和removeLineClass所取代,它们允许对附加到行的类进行更多模块化控制。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14007482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档