gpt4 book ai didi

autocomplete - Ace 编辑器自动补全

转载 作者:行者123 更新时间:2023-12-01 00:53:32 26 4
gpt4 key购买 nike

我正在 sql 模式下使用 ace 编辑器。我按照此链接启用自动完成功能:https://github.com/ajaxorg/ace/blob/master/demo/autocompletion.html .它通常运作良好。但是,我想进一步调整自动完成功能以满足我的进一步要求。这是愿望 list :

  • 我希望建议的sql关键字都是大写的。默认情况下,它们都是小写的;
  • 我发现在我输入一些单词时,我以前输入的单词会添加到建议词典中,这很好。我可以在编辑器中输入任何内容之前以编程方式在建议词典中添加更多单词吗?我需要这个的原因是我想将一些表名和字段名预加载到字典中。

  • 我是这个很棒的编辑器的新手。我希望得到一些关于如何调整自动完成功能的指导。谢谢。

    最佳答案

    有一个拉取请求为 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/

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