【发布时间】:2016-05-12 19:55:40
【问题描述】:
Java Script 和我不是朋友。
Ace 是 javascript 中的一个代码 ide,可以为它编写自定义模式,将自定义 sn-ps 添加到模式,编写自定义自动完成程序。 我知道如何编写代码来做一些我不明白的事情是如何将这些东西集成到 JavaScript 中。
有这个define("mode/blabla",["exports","modules,..],(exports,modules) -> {} 这看起来与角度加载模块的方式非常相似,但是当我只是在 html 中添加脚本时,它不知道定义方法。 我是否需要构建整个东西才能让它工作。就像将文件放在 ace 文件夹中并构建它一样。 我真的很想只使用 bower import angular-ace-ui 然后自己提供我的小模式、突出显示和完成文件。所以我可以让我自己的东西易于访问、可编辑并与我现在在 bower-components/ace-builds/ 中的完整 ace 分开。
有人可以向我解释或指出一个很好的学习材料,它教我如何在 ace 等 java 脚本项目中进行依赖、导入和函数集成。 我了解 Java,但是 Java 脚本很奇怪,很难遍历代码来查看事物的来源和去向。
我试过了,但它不起作用,因为它在构建过程之外,我不知道在哪里寻找挂钩。
< script src = "../src-noconflict/ace.js" > < /script>
<!-- load ace language tools -->
<script src="../src - noconflict / ext - language_tools.js "></script>
<script src=".. / .. / .. / app / scripts / editor / mode / myql.js "></script>
<script src=".. / .. / .. / app / scripts / editor / snippets / myql.js "></script>
<script>
// trigger extension
var langtools = ace.require("
ace / ext / language_tools ");
var editor = ace.edit("
editor ");
editor.session.setMode("
ace / mode / myql ");
editor.setTheme("
ace / theme / chrome ");
// enable autocompletion and snippets
editor.setOptions({
enableBasicAutocompletion: true,
enableSnippets: true,
enableLiveAutocompletion: true
});
</script>
我想让这样的东西工作 'autocomplete/completer' 'ace/mode/myql' 是我想集成的模块。 我得到了肮脏的代码,但没有让它可访问的方法。 这些文件的格式类似于这里的模式,请参见 sql.js 和 sql_highlight_rules.js https://github.com/ajaxorg/ace/tree/master/lib/ace/mode
<div ui-ace="{
useWrapMode : true,
showGutter: false,
theme:'chrome',
mode: 'mysql',
require: ['ace/ext/language_tools','autocomplete/mycompleter','ace/mode/myql'],
advanced: {
enableSnippets: true,
enableBasicAutocompletion: true,
enableLiveAutocompletion: true
}
}"></div>
【问题讨论】:
标签: javascript requirejs ace-editor