我正在使用带有模式
模式缩进的Codemirror
编辑器工作正常,除了在一个地方。javascript
Javascript
当我在光标位于右括号之前按 Enter 时,缩进不起作用。
function myFunction(){
}
光标停留在右括号之前。请帮忙
我正在使用带有模式
模式缩进的Codemirror
编辑器工作正常,除了在一个地方。javascript
Javascript
当我在光标位于右括号之前按 Enter 时,缩进不起作用。
function myFunction(){
}
光标停留在右括号之前。请帮忙
如果我理解正确,您将光标放在“|”的位置 在这段代码中:
function myFunction() {|}
...然后按 Enter。我猜你期待更多这样的事情?
function myFunction() {
|
}
这不是 CodeMirror 的默认行为,但您可以编写一个相当简单的插件来更改它。这是一个粗略的开始:
CodeMirror.defineInitHook(function (codeMirror) {
codeMirror.addKeyMap({
name: "fixEnterWithinBraces",
Enter: function (codeMirror) {
if (codeMirror.somethingSelected()) return CodeMirror.Pass;
var cursorPos = codeMirror.getCursor();
var line = codeMirror.getLine(cursorPos.line);
if (line.substr(cursorPos.ch - 1, 2) === "{}") {
codeMirror.replaceRange("\n\n", cursorPos);
codeMirror.setCursor(cursorPos.line + 1, 0);
codeMirror.indentLine(cursorPos.line + 1);
} else {
return CodeMirror.Pass;
}
}
});
});