[英]Codemirror javascript indentation issue
我正在將Codemirror
編輯器與javascript
模式一起使用Javascript
模式縮進可以正常工作,但Codemirror
在一個地方進行。
當光標在右括號之前時按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;
}
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.