【发布时间】:2013-11-15 11:31:31
【问题描述】:
我想知道是否可以在用户输入编辑器 ace.js 时启用自动完成功能。 目前在我的项目中,当用户键入时启用自动完成: ctrl + space 。 那么,是否可以在自动补全列表中添加一些关键字?
谢谢
【问题讨论】:
标签: javascript autocomplete editor ace-editor
我想知道是否可以在用户输入编辑器 ace.js 时启用自动完成功能。 目前在我的项目中,当用户键入时启用自动完成: ctrl + space 。 那么,是否可以在自动补全列表中添加一些关键字?
谢谢
【问题讨论】:
标签: javascript autocomplete editor ace-editor
用于触发自动完成use
editor.commands.on("afterExec", function(e){
if (e.command.name == "insertstring"&&/^[\w.]$/.test(e.args)) {
editor.execCommand("startAutocomplete")
}
})
要添加一些关键字,您可以在编辑器中添加另一个 completer 或覆盖模式上的 getCompletions 方法。
【讨论】:
editor.completer.autoInsert = false; 放在哪里?我有最新版本的 ace,但它仍在自动完成。
它已经内置了!查看我在editor.setOptions 下选择的选项:
var langTools = ace.require("ace/ext/language_tools");
var editor = ace.edit("editor");
editor.setTheme("ace/theme/monokai");
editor.getSession().setMode("ace/mode/yaml");
editor.setOptions({
enableBasicAutocompletion: true,
enableSnippets: true,
enableLiveAutocompletion: true
});
【讨论】: