Для добавления пользовательского автозаполнения вам необходимо связать ключ с помощью addCommand , а затем вызвать автозаполнение
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");
}
});
Или вы можете привязать событие изменения и вызвать автозаполнение, которое будет запускать автозаполнение при каждом нажатии
editor.on("change", function () {
autocomplete();
});