蒙特卡罗编辑器(Monaco Editor)是否可以去除特定错误?

8

我正在为我的应用程序Data-Forge Notebook添加TypeScript支持。

这是一个JavaScript笔记本式应用程序。当我在代码单元格中使用'await'关键字时,Monaco会标记它为错误,如下图所示:

Error from Monaco Editor

当代码被执行或导出时,整个代码块都会被包装在一个async函数中,因此在这种情况下不会出现错误。
我需要能够自定义Monaco以删除这个错误,因为在这种情况下它没有意义。
在使用Monaco编辑器时,是否有可能删除或修改此类错误?
3个回答

5

虽然有点晚,但我找到了另一种解决方案。 可以通过以下方式按错误代码抑制错误:

monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
  diagnosticCodesToIgnore: [1375]
});

1375是“'await'表达式仅在文件顶层为模块时才允许,但该文件没有导入或导出。考虑添加空的'export {}'来使该文件成为模块。(1375)”错误代码。


迟做总比不做好!我刚刚开始开源 Data-Forge Notebook 并重新审视 Monaco Editor 的整合,非常感谢你。 - Ashley Davis
一旦我有机会尝试它,我会将其设为被接受的答案。 - Ashley Davis

1

我通过从代码构建Monaco编辑器包来解决了这个问题。

首先,我fork了Tim Kendrick的repo以打包Monaco编辑器:https://github.com/timkendrick/monaco-editor

然后,我使用git的--recurse选项克隆了它,以便我还可以克隆所有Monaco子模块repo。

接着,我能够运行Tim Kendrick的构建过程,将Monaco打包供我的React应用程序使用。

最后,我能够从Monaco的代码中删除错误消息,并重新打包以包含在我的应用程序中。

它无法按照我希望的方式进行配置,但至少我能够修改代码。


1
谢谢分享这个信息;我们遇到了同样的问题,希望能够避免这条路。如果有任何有效的解决方案,我们一定会分享的。 - ehdv

0

我对这个问题有一个新的答案。

Tim Kendrick的Monaco Editor包基于一年多前的Monaco代码。因此,我想直接从vscode存储库构建。

以下是直接从vscode构建Monaco Editor核心的命令:

git clone https://github.com/microsoft/vscode
cd vscode
yarn install
npm run compile
npx gulp editor-distro --max_old_space_size=2000

请注意在运行 Gulp 构建脚本时使用--max_old_space_size=2000。您需要这样做来增加 Node.js 内存,以便在构建过程中不会出现致命的内存错误。
完整示例:https://github.com/data-forge-notebook/monaco-build

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接