如何在CodeMirror中为VB添加代码折叠?

时间:2014-01-24 01:22:27

标签: javascript codemirror

有人能告诉我如何在CodeMirror javascript代码编辑器中为vb(.net)模式进行代码折叠工作吗?我对javascript的经验很少,我似乎无法在用户手册中找到答案。我希望它能够理想地折叠类,模块,函数,子函数和注释,但如果它只是基于缩进折叠就会很高兴。

1 个答案:

答案 0 :(得分:5)

在StackFlow上找到foldGutter函数elsewhereCodeMirror.fromTextArea属性的以下javascript。效果很好。

foldGutter: {
    rangeFinder: new CodeMirror.fold.combine(CodeMirror.fold.indent, CodeMirror.fold.comment)
}

因此,我网页上的<script>元素现在看起来像这样。

<script id="script">
    window.onload = function () {
        var te = document.getElementById("codeEd");
        window.editor = CodeMirror.fromTextArea(te, {
            mode: "text/x-vb",
            styleActiveLine: true,
            lineNumbers: true,
            lineWrapping: false,
            extraKeys: { "Ctrl-Q": function (cm) { cm.foldCode(cm.getCursor()); } },
            foldGutter: {
                rangeFinder: new CodeMirror.fold.combine(CodeMirror.fold.indent, CodeMirror.fold.comment)
            },
            gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
        });
        editor.setSize("100%","100%");
    };
</script>

感谢aaldim