monaco-editor - 摩纳哥:从自动完成/智能感知中删除 Web API?
问题描述
我在嵌入式应用程序中使用 Monaco,用户可以在其中编写 JavaScript 以在我们自己的引擎中运行。该引擎远非网络浏览器,因此我们有自己的 API,而且绝对不支持任何网络 API。但是,因为我们在浏览器本身内部运行 Monaco,我猜它会拾取这些 API 并通过其(相当棒的)智能感知小部件显示它们。那么有没有办法禁用它并只显示我们的 API(我将使用 addExtraLibs 提供它)?
非常感谢。
解决方案
是的。libs
您可以使用该属性指定要包含的默认库。例子:
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
target: monaco.languages.typescript.ScriptTarget.ES2015,
lib: ["es6"]
});
来自 CompilerOptions 部分的 Typescript 文档:
笔记:
如果未指定 --lib ,则注入默认的库列表。注入的默认库是: For --target ES5: DOM,ES5,ScriptHost For --target ES6: DOM,ES6,DOM.Iterable,ScriptHost
您想要做的是省略 DOM 库。
我在某处读到,您也可以使用它来包含除 之外["!DOM"]
的所有默认值,尽管我还没有亲自测试过。 DOM
确保您使用typescriptDefaults
for the typescript
language 和typescript.javascriptDefaults
for the javascript
language。我认为它们基本上与摩纳哥相当。这让我绊倒了一段时间。
推荐阅读
- sql - 将 FOR XML 拆分为 baches
- python - 为什么我的 websocket 服务器只接受 1 个连接
- javascript - 如何根据 ClientScript 中的操作更改选项卡的显示属性?
- python - 有没有办法在 OR-Tools 路由中设置特定的出发点和到达点?
- javascript - 404 Not Found for Web API 路由
- elasticsearch - 为什么弹性搜索返回与运算符“OR”无关的结果?
- tensorflow - 什么是深度学习中的融合内核(或融合层)?
- c# - c#中的多线程问题
- python - 对每一行数据框求和列,并在多级索引熊猫数据框中添加新列
- powershell - 连接后如何使用 PowerShell 发送 CLI 命令