如何在Monaco Editor中获得JQuery代码完成?

时间:2018-12-12 23:00:00

标签: javascript jquery monaco-editor

我是摩纳哥和Typescript的新手。我正在尝试使JQuery代码完成以在我的编辑器上工作。我已经尝试了几乎所有能够找到实现此目的的示例。我认为我已经很接近了,但是可能缺少一些基本知识。

从DefinitelyTyped人们那里,我得到了他们的jquery目录,并将其包含在我的Web项目中。在创建摩纳哥编辑器的文件中,我具有以下内容。

const path = "/jslib/monaco/types/jquery/index.d.ts";
const typings = readTextFile(path);
monaco.languages.typescript.javascriptDefaults.addExtraLib(typings, path);

readTextFile()只是我用来获取index.d.ts内容的一个小功能(我可以确认它正在工作)。这是我的摩纳哥设置的其余部分。

monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
                target: 
monaco.languages.typescript.ScriptTarget.ES2016,
                allowNonTsExtensions: true,
                module: monaco.languages.typescript.ModuleKind.System,
                noEmit: true,
                typeRoots: ["/jslib/monaco/types"],
                noLib: true
          });


window.editor = monaco.editor.create(document.getElementById('monacodiv'), {
                value: $("#formula").val(),
                language: 'javascript',
                theme: "vs-dark",
                autoIndent: true,
                dragAndDrop: true,
                tabCompletion: true,
                fontFamily: "monospace",
                scrollBeyondLastLine: false
            });

如果有人可以让我知道我在做什么错,那太棒了!

1 个答案:

答案 0 :(得分:0)

因此,在深入研究DefinitelyTyped定义之后,我遇到了这个问题,我注意到index.d.ts只是聚合了四个不同文件(JQueryStatic,{{1} },JQuerymisc)。通过重复使用legacy添加所有这些文件的内容应该可以!否则,不确定addExtraLib如何找到内容。