2013-04-09 5 views
12

私はjava/scalaバックエンド(正確にはこの質問に影響しないはずですがLift)を使用するプロジェクトで作業しています。フロントエンドの一部としてAce Editorを使用しています。私はしばらくの間、グーグルとこの質問への答えを見つけるためにまだ持ってきた:ファイルの拡張子(例:jsccpphjavarb、など)を考えるとファイル拡張子を指定して、Ace Editorの "モード"を自動的に選択する方法

、どのように私は自動的に選ぶことができます適切な言語のエース "モード"?

地図を手動で作成することを避けたいと考えています。js -> javascript, c -> c_cpp, java -> javaこれに利用できるjava/scalaライブラリはありますか?それとも、Aceはこの機能を何らかの形で組み込んでいますか?

答えて

25

これで、Aceはモデル作成者の拡張機能を提供するようになりました。

var modelist = ace.require("ace/ext/modelist") 
var filePath = "blahblah/weee/some.js" 
var mode = modelist.getModeForPath(filePath).mode 
editor.session.setMode(mode) // mode now contains "ace/mode/javascript". 

あなたはエースのprebuiltバージョンを使用している場合は、あなたのページにace.jsext-modelist.jsファイルをインクルードする必要があることに注意してください。
ソースバージョンでは、ace.requirerequireに置き換え、require.jsがすべての依存関係を自動的に読み込む必要があります。

+0

それを使用する方法の例についてはhttps://github.com/ajaxorg/ace/blob/master/demo/modelist.htmlhttps://github.com/ajaxorg/ace-builds/blob/master/demo/modelist.htmlを参照してください、このマージされましたか?それを今どのように使用するのですか? –

+0

エースのデモページへのリンクを含めるように答えを更新しました。 –

+1

ありがとうございます!ここにあなたのアップフォートがあります。答えを見つけやすくするための正確なコマンドを追加しました。 –

関連する問題