【问题标题】:Advanced autocomplete in ACE EditorACE 编辑器中的高级自动完成功能
【发布时间】:2015-03-20 14:19:22
【问题描述】:

我希望在 ACE 编辑器中添加复杂的代码完成功能。

例如,如果我在 ACE 中键入以下 JavaScript...

function Car() {}

Car.prototype = {
    model : '',
    maxSpeed : 0
};

var bugatti = new Car();
bugatti.

...点击bugatti 之后的点时,将出现选项“model”和“maxSpeed”。

我知道 ACE 有新的“enableBasicAutocompletion”功能,但这似乎很缺乏。我希望根据输入到 ACE 编辑器中的代码进行自动完成,只需点击 .钥匙。自动完成建议将是该对象的属性。

我能找到的最接近的内容是在这个 YouTube 视频中:http://youtu.be/CSEDIhT6bXU

在 1:45,您可以看到自动完成是基于用户的 JavaScript,但没有演示或说明如何完成。

【问题讨论】:

    标签: javascript autocomplete syntax-highlighting code-completion ace-editor


    【解决方案1】:

    The TernJS project 是您正在寻找的。

    这是an example integration 与 ACE。

    【讨论】:

      【解决方案2】:

      是的,它现在是 Ace 的一部分。虽然我没有在 API 中找到它,而是通过硬网搜索找到它: 将 ace/ext-language_tools.js 添加到您的 html 中。 点形式还不能很好地工作,因此您可能必须为此输入 ctrl-space 或 alt-space (尽管如果您编写一些要调用的属性/方法应该显示),但是标准语法的东西作为写作功能,现在将显示。 然后在你的js中:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-26
        • 1970-01-01
        • 2022-12-03
        相关资源
        最近更新 更多