簡體   English   中英

Codemirror javascript縮進問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM