javascript - 给定文件扩展名,如何为 Ace Editor 自动选择 "mode"

标签 javascript syntax-highlighting ace-editor

我正在开发一个使用 java/scala 后端的项目(准确地说是 Lift,尽管这不会影响这个问题),作为前端的一部分,我们使用 Ace Editor .我已经用谷歌搜索了一段时间,但还没有找到这个问题的答案:

给定文件扩展名(例如 jsccpphjavarb 等),我如何自动为适当的语言选择 Ace“模式”?

我希望避免手动创建 map ,la js -> javascript, c -> c_cpp, java -> java。是否有可用的 java/scala 库?或者更好的是,Ace 是否以某种方式内置了此功能?

最佳答案

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 版本,您需要在页面中包含 ace.jsext-modelist.js 文件。
对于源码版本,您需要将 ace.require 替换为 require 并且 require.js 将自动加载所有依赖项。

参见 https://github.com/ajaxorg/ace/blob/master/demo/modelist.htmlhttps://github.com/ajaxorg/ace-builds/blob/master/demo/modelist.html有关如何使用它的示例

关于javascript - 给定文件扩展名,如何为 Ace Editor 自动选择 "mode",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15903191/

相关文章:

javascript - Ace Editor 在 <head> 标签内生成 CSS 样式

javascript - Ace Editor setAnnotations 方法一次仅显示一个错误

javascript - Angular ui-select 未在下拉列表中加载大列表

c++ - 如何获得标准分类类型的 IClassifier?

javascript - 语法荧光笔不检测新行

phpstorm - 如何使 PhpStorm/WebStorm 范围突出显示看起来更具表现力?

javascript - 如何将 ACE 编辑器中的 div 改回 div

javascript - 如何获取Firebase中的唯一ID

javascript - Javascript 在无限循环中获取 Document 对象

javascript - 客户端文件创建和下载