gpt4 book ai didi

javascript - 如何在 ace 编辑器中启用每个关键事件的自动完成功能?

转载 作者:行者123 更新时间:2023-12-04 15:43:37 26 4
gpt4 key购买 nike

我能够在 ace 编辑器中获得(ctrl+space)键事件的自动完成列表,但我想在用户键事件上实现相同的行为。有没有办法做同样的事情?

最佳答案

要添加自定义自动完成,您需要使用 绑定(bind) key 添加命令 ,然后调用自动完成

editor.commands.addCommand({
name: "myCommand",
bindKey: { win: "$", mac: "$" },
exec: function (editor) {
autocomplete();
}
});

一旦用户触发器成为您可以调用自动完成功能的键,我将在此处添加示例自动完成功能,根据需要进行更改。
autocomplete: function () {
staticWordCompleter = {
var getWordList = function(editor, session, pos, prefix, callback, isRHSEditor) {
var wordList = ["Java","Javascript","Python"]; // add your words to this list

callback(null, wordList.map(function(word) {
return {
caption: word,
value: word
};
}));
editor.completers = [staticWordCompleter];
}

要始终使用自动完成功能,您可以尝试以下操作:
editor.commands.on("afterExec", function (e) {
if (e.command.name == "insertstring" && /^[\w.]$/.test(e.args)) {
editor.execCommand("startAutocomplete");
}
});

或者您可以绑定(bind)更改事件并调用自动完成,这将在每次点击时触发自动完成
editor.on("change", function () {
autocomplete();
});

关于javascript - 如何在 ace 编辑器中启用每个关键事件的自动完成功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56835484/

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