gpt4 book ai didi

javascript - Ace 编辑器的自动补全

转载 作者:数据小太阳 更新时间:2023-10-29 04:00:20 26 4
gpt4 key购买 nike

好的,这是交易:

  • 我正在使用 Ace Editor
  • 集成了编辑器的应用程序是用 Objective-C/Cocoa 编写的
  • 我需要自动完成(针对一组给定的关键字)

现在,问题来了:

  • 我知道自动完成还没有原生支持
  • 我知道其他人的一些尝试(例如 Codiad IDEGherkinAlloy-UI ),有些人利用了 Jquery UI Autocomplete - 但我仍然无法弄清楚如何将其适应现有的 Ace 设置
  • 我仍然不确定我是应该选择面向 JS 的解决方案还是只使用 Objective-C/Cocoa

如有任何帮助,我们将不胜感激。

最佳答案

在ace编辑器中可以实现AutoCompletion..

代码:

    var editor = ace.edit('editor');
editor.setTheme("ace/theme/eclipse");
editor.getSession().setMode("ace/mode/java");
editor.setShowInvisibles(true);
editor.setDisplayIndentGuides(true);
editor.getSession().setUseWrapMode(true);
var jsonUrl = "JSON/Components/proce.json";
//the url where the json file with the suggestions is present
var langTools = ace.require("ace/ext/language_tools");
editor.setOptions({enableBasicAutocompletion: true});
var rhymeCompleter = {
getCompletions: function(editor, session, pos, prefix, callback) {
if (prefix.length === 0) { callback(null, []); return }
$.getJSON(jsonUrl, function(wordList) {
callback(null, wordList.map(function(ea) {
return {name: ea.word, value: ea.word, meta: "optional text"}
}));
})
}
}

langTools.addCompleter(rhymeCompleter);

Json文件格式:

   [ {"word":"hello"}, 
{"word":"good morning"},
{"word":"suggestions"},
{"word":"auto suggest"},
{"word":"try this"}]

引用/演示:

http://plnkr.co/edit/6MVntVmXYUbjR0DI82Cr?p=preview

关于javascript - Ace 编辑器的自动补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15019607/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com