我正在 sql 模式下使用 ace 编辑器。我按照此链接启用自动完成功能:https://github.com/ajaxorg/ace/blob/master/demo/autocompletion.html .它通常运作良好。但是,我想进一步调整自动完成功能以满足我的进一步要求。这是愿望 list :
我是这个很棒的编辑器的新手。我希望得到一些关于如何调整自动完成功能的指导。谢谢。
最佳答案
有一个拉取请求为 sql server 模式添加更好的完成 https://github.com/ajaxorg/ace/pull/2460 , sql 模式可以用同样的方式处理。
要添加更多单词,您需要实现自定义完成器,这很简单:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajaxorg.github.io/ace-builds/src/ace.js">
</script>
<script src="http://ajaxorg.github.io/ace-builds/src/ext-language_tools.js">
</script>
<style>
#editor { position: absolute; top: 0; left: 0; right: 0; bottom: 0;}
</style>
</head>
<body>
<div id="editor">
press ctrl+space</div>
</body>
<script>
editor = ace.edit("editor")
editor.setOptions({
// mode: "ace/mode/javascript",
enableBasicAutocompletion: true
});
editor.completers.push({
getCompletions: function(editor, session, pos, prefix, callback) {
callback(null, [
{value: "foo", score: 1000, meta: "custom"},
{value: "bar", score: 1000, meta: "custom"}
]);
}
})
</script>
</html>
另见 https://github.com/ajaxorg/ace/wiki/How-to-enable-Autocomplete-in-the-Ace-editor
关于autocomplete - Ace 编辑器自动补全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29753185/