我使用javascript
模式的Codemirror
编辑器Javascript
模式缩进工作良好,除了一个地方。
当光标位于右括号前时,按回车键,缩进不起作用
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("nn", cursorPos);
codeMirror.setCursor(cursorPos.line + 1, 0);
codeMirror.indentLine(cursorPos.line + 1);
} else {
return CodeMirror.Pass;
}
}
});
});