19

私は Java/scala バックエンド (正確にはLiftですが、この質問には影響しません) を使用するプロジェクトに取り組んでおり、フロントエンドの一部としてAce Editorを使用しています。私はしばらくの間グーグルで検索してきましたが、この質問に対する答えをまだ見つけていません:

ファイル拡張子 ( jsccpph、など)javarb指定して、適切な言語の Ace "モード" を自動的に選択するにはどうすればよいですか?

手動でマップを作成することは避けたいと思っていjs -> javascript, c -> c_cpp, java -> javaます。これに利用できる Java/scala ライブラリはありますか? それとも、Ace にはこの機能が何らかの形で組み込まれているのでしょうか?

4

3 に答える 3

36

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".

ビルド済みバージョンの ace を使用している場合は、ページにace.jsおよびファイルを含める必要があることに注意しext-modelist.jsてください。
ソースバージョンでは、に置き換える必要がありace.requirerequirerequire.js はすべての依存関係を自動的に読み込みます。

方法の例については、 https ://github.com/ajaxorg/ace/blob/master/demo/modelist.htmlおよびhttps://github.com/ajaxorg/ace-builds/blob/master/demo/modelist.htmlを参照してください。それを使用する

于 2013-04-09T21:50:31.307 に答える