Как получить JQuery Code Completion в Monaco Editor? - PullRequest
0 голосов
/ 13 декабря 2018

Я новичок в Монако и Typescript в целом.Я пытаюсь заставить JQuery завершить работу кода в моем редакторе.Я попробовал почти каждый пример, который мне удалось найти, как это сделать.Я думаю, что я довольно близок, но, вероятно, упускаю что-то фундаментальное.

От людей DefiniteTyped я получил их каталог jquery и включил его в свой веб-проект.В файле, который создает мой редактор в Монако, у меня есть следующее:

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 голосов
/ 01 апреля 2019

Так что я только что столкнулся с этой проблемой, после изучения определений DefinitiveTyped , я заметил, что index.d.ts просто собирает содержимое из четырех разных файлов (JQueryStatic, JQuery, * 1006).*, legacy).Добавление содержимого всех этих файлов путем многократного использования addExtraLib должно работать!В противном случае, не знаете, как monaco может найти содержимое.

...