gpt4 book ai didi

ace-editor - 自定义自动完成程序和句点 (.)

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

使用自定义前缀提取正则表达式 identifierRegexps 时,我似乎无法让 getCompletions 函数在我的自定义完成程序中触发

基本上,我正在尝试创建一个自动完成程序,它将在以字母开头的句点 (.) 上触发。例如。在“foo”中。当输入句号时,我想展示我的自定义建议。

var lang = ace.require("ace/ext/language_tools");
var editor = ace.edit("editor");
editor.getSession().setMode("ace/mode/javascript");
editor.setOptions({
enableBasicAutocompletion: true,
enableSnippets: true,
enableLiveAutocompletion: true
});

var compl = {
identifierRegexps: [/[a-zA-Z_0-9\.\$\-\u00A2-\uFFFF]/],
getCompletions: function (editor, session, pos, prefix, callback) {
alert(prefix);

callback(null, []);
return;
}
}
lang.addCompleter(compl);

使用上面的代码片段,键入点​​时会出现建议弹出窗口,但不会触发 getCompletions。但是,它确实会在任何其他角色上触发。

更新:

在添加自定义完成器之前删除默认完成器
lang.setCompleters();

使 getCompletion 函数触发。但是在这种情况下前缀参数为空。

最佳答案

设法通过修改 language_tools.js 中的 ID_REGEX 变量来解决它。

关于ace-editor - 自定义自动完成程序和句点 (.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28920998/

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