ACE编辑器中的高级自动完成功能

时间:2015-01-21 22:11:25

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

我希望将复杂的代码完成添加到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,但没有演示或说明如何完成此操作。

2 个答案:

答案 0 :(得分:4)

The TernJS project正是您要找的。

这里有an example integration与ACE。

答案 1 :(得分:3)

如今,它是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
});