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