Монако: удаление веб-API из автозаполнения / intellisense? - PullRequest
0 голосов
/ 18 октября 2018

Я использую Monaco во встроенном приложении, где пользователи могут написать JavaScript для запуска на нашем собственном движке.Движок далек от веб-браузера, поэтому у нас есть свои собственные API и мы определенно не поддерживаем никаких веб-API.Однако, поскольку мы запускаем Monaco внутри самого браузера, я думаю, что он выбирает эти API и показывает их через свои (довольно крутые) виджеты intellisense.Так есть ли способ отключить это и показывать только наши API (которые я буду кормить с помощью addExtraLibs)?

Большое спасибо.

1 Ответ

0 голосов
/ 16 декабря 2018

Да.Вы можете указать библиотеки по умолчанию, которые хотите включить, используя свойство libs.Пример:

monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
  target: monaco.languages.typescript.ScriptTarget.ES2015,
  lib: ["es6"]
});

Из документов Typescript в разделе CompilerOptions:

Примечание:

Если --lib не указан, список библиотек по умолчанию:впрыскивается.Используемые по умолчанию библиотеки: Для --target ES5: DOM, ES5, ScriptHost Для --target ES6: DOM, ES6, DOM.Iterable, ScriptHost

Что вы хотите сделать, это опустить DOMбиблиотека.

Я где-то читал, что вы также можете использовать ["!DOM"] для включения всех значений по умолчанию , кроме DOM, хотя я еще не проверял это лично.

Убедитесь, что вы используете typescriptDefaults для языка typescript и typescript.javascriptDefaults для языка javascript.Я думаю, что они в основном эквивалентны Монако.Это сбило меня с толку.

...