我正在尝试为ace编辑器创建自定义自动填充程序。我读过的所有文件都说我需要使用ace.require('ace/ext/language_tools')
来创建自动完成器。但我甚至无法让ace.require()工作。我不确定我的package.json或.ts文件本身是否遗漏了什么。
我关注的示例文章: https://github.com/ajaxorg/ace/wiki/How-to-enable-Autocomplete-in-the-Ace-editor
我的package.json ace依赖项设置如
"dependencies": {
"@types/ace": "0.0.36",
"ace": "^1.3.0",
"ace-builds": "^1.2.9",
"brace": "^0.11.0"
},
我的editor.ts文件很简单:
import * as ace from 'brace';
class RqlEditor {
private initAutocompleter(...irrelevant);
public init(customMetadataProperties: String[]) {
const langTools = ace.require('ace/ext/language_tools');
langTools.addCompleter(this.initAutocompleter(customMetadataProperties));
const editor = ace.edit('container');
editor.setOptions({
enableBasicAutocompletion: true,
});
}
}
export default RqlEditor;
答案 0 :(得分:0)
当然,经过几个小时的搜索,我在提问后20分钟找到答案。我正在使用带有webpack的大括号,所以我只需要import 'brace/ext/language_tools
。然后我使用ace.acequire('ace/ext/language_tools')