2
我對多種語言(Groovy,Python,Beanshell,XSLT)使用通用的Codemirror編輯器。根據在下拉列表中選擇的語言,我爲編輯器設置相應的模式。如何爲CodeMirror編輯器應用自動縮進?
如何對上述語言應用自動縮進?
我對多種語言(Groovy,Python,Beanshell,XSLT)使用通用的Codemirror編輯器。根據在下拉列表中選擇的語言,我爲編輯器設置相應的模式。如何爲CodeMirror編輯器應用自動縮進?
如何對上述語言應用自動縮進?
CodeMirror模式可以爲其各自的語言提供縮進,大部分都可以(例如python mode)。這可以通過檢查模式的來源來檢查是否已實施indent(state, textAfter)
。從文檔:
如果你希望你的方式來提供智能縮進(通過
indentLine
方法和indentAuto
和newlineAndIndent
命令,以 該鍵可以bound),您必須在定義indent(state, textAfter)
方法你模式對象。
對定義indent(state, textAfter)
模式,並假設smartIndent
設置爲true
(這是默認值)後,自動縮進應該透明地提供,就在你身邊沒有額外的努力。
如果一種模式不支持開箱即用的智能縮進,您可以隨時自行實施。請參閱文檔中關於writing CodeMirror modes的部分。
我看到python.js有一個稱爲indent(stream,state,type)的方法。我不確定這些參數稱爲流和狀態。你能告訴我嗎? –
請再讀一遍我的答案。 –
我讀了兩遍,但無法獲得soln。我所理解的是python.js包含縮進代碼。但不知道如何使用它。 –