使用代码镜像,我们可以折叠代码。 我想用括号折叠所有代码。我找到了这个方法
我如何折叠整个代码,这是我的HTML脚本:
window.onload = function() {
var te = document.getElementById("code");
var sc = document.getElementById("script");
var te_clike = document.getElementById("code-clike");
window.editor_clike = CodeMirror.fromTextArea(te_clike, {
mode: "text/x-csharp",
lineNumbers: true,
extraKeys: {"Ctrl-Q": function(cm){ cm.foldCode(cm.getCursor()); }},
foldGutter: true,
readOnly: true,
gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"]
});
};
感谢您的帮助......
答案 0 :(得分:6)
CodeMirror有一个foldCode
插件,可以启用foldCode()
方法。可以在此处找到参考:https://codemirror.net/doc/manual.html#addon_foldcode
然后,您可以遍历所有行并调用该函数来折叠该特定行的代码,如此处的解决方案:https://groups.google.com/forum/#!msg/CodeMirror/u3IYL-5g0t4/lmK8XuTxbdQJ
cm.operation(function() {
for (var l = cm.firstLine(); l <= cm.lastLine(); ++l)
cm.foldCode({line: l, ch: 0}, null, "fold");
});
其中cm
是CodeMirror实例。
答案 1 :(得分:4)
还有一个专门为您设计的功能,例如:
editor.setOption("extraKeys", {
"Ctrl-Y": cm => CodeMirror.commands.foldAll(cm),
"Ctrl-I": cm => CodeMirror.commands.unfoldAll(cm),
})