Monaco:从 autocomplete/intellisense 中删除 Web API?
Monaco: Removing Web APIs from autocomplete/intellisense?
我在嵌入式应用程序中使用 Monaco,用户可以在我们自己的引擎中将 JavaScript 写入 运行。该引擎远非网络浏览器,因此我们拥有自己的 API,绝对不支持任何网络 API。然而,因为我们 运行 Monaco 在浏览器本身中,我猜它会选择这些 API 并通过它的(相当棒的)智能感知小部件显示它们。那么有没有办法禁用它并只显示我们的 API(我将使用 addExtraLibs 提供它)?
非常感谢。
是的。您可以使用 libs
属性 指定要包含的默认库。示例:
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES2015,
lib: ["es6"]
});
来自 CompilerOptions 部分的 Typescript 文档:
Note:
If --lib is not specified a default list of libraries are injected. The
default libraries injected are:
For --target ES5: DOM,ES5,ScriptHost
For --target ES6: DOM,ES6,DOM.Iterable,ScriptHost
您要做的是省略 DOM 库。
我在某处读到,您还可以使用 ["!DOM"]
来包含所有默认值 除了 DOM
,尽管我还没有亲自测试过。
确保 typescriptDefaults
用于 typescript
语言,typescript.javascriptDefaults
用于 javascript
语言。我认为他们基本上与摩纳哥相当。这让我绊倒了一段时间。
我在嵌入式应用程序中使用 Monaco,用户可以在我们自己的引擎中将 JavaScript 写入 运行。该引擎远非网络浏览器,因此我们拥有自己的 API,绝对不支持任何网络 API。然而,因为我们 运行 Monaco 在浏览器本身中,我猜它会选择这些 API 并通过它的(相当棒的)智能感知小部件显示它们。那么有没有办法禁用它并只显示我们的 API(我将使用 addExtraLibs 提供它)?
非常感谢。
是的。您可以使用 libs
属性 指定要包含的默认库。示例:
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES2015,
lib: ["es6"]
});
来自 CompilerOptions 部分的 Typescript 文档:
Note:
If --lib is not specified a default list of libraries are injected. The default libraries injected are: For --target ES5: DOM,ES5,ScriptHost For --target ES6: DOM,ES6,DOM.Iterable,ScriptHost
您要做的是省略 DOM 库。
我在某处读到,您还可以使用 ["!DOM"]
来包含所有默认值 除了 DOM
,尽管我还没有亲自测试过。
确保 typescriptDefaults
用于 typescript
语言,typescript.javascriptDefaults
用于 javascript
语言。我认为他们基本上与摩纳哥相当。这让我绊倒了一段时间。