CodeMirror を使用して、HTML5 ベースのプレゼンテーションでエディターを作成しています。最も単純な形式では、html は次のようになります。
<section class="pattern">
<textarea id='pattern-view' class='codemirror' data-mode='javascript'>
var myModule = function(){
//code goes here
}
</textarea>
</section>
準備が整ったドキュメントで、コードを持っています
$(function(){
var tAreas = document.querySelectorAll('.codemirror');
for (var i = 0; i < tAreas.length; i++) {
CodeMirror.fromTextArea(tAreas[i], { theme: 'monokai', mode: tAreas[i].dataset.mode });
}
});
これは期待どおりに機能し、テキストエリアはエディターに置き換えられます。問題は、インデントが維持され、適切にフォーマットされていないことです。コードを強調表示するだけで、コンテンツを再フォーマットしません。
これに追加する必要があるものはありますか?codemirror 3.0 の一部ではなくなった、formatting.js アドオンのコードを見つけました。
テキストエリア内のコードを自動フォーマットする方法はありますか?