我正在为我的应用程序Data-Forge Notebook添加TypeScript支持。
这是一个JavaScript笔记本式应用程序。当我在代码单元格中使用'await'关键字时,Monaco会标记它为错误,如下图所示:
当代码被执行或导出时,整个代码块都会被包装在一个async
函数中,因此在这种情况下不会出现错误。我需要能够自定义Monaco以删除这个错误,因为在这种情况下它没有意义。
在使用Monaco编辑器时,是否有可能删除或修改此类错误?
我正在为我的应用程序Data-Forge Notebook添加TypeScript支持。
这是一个JavaScript笔记本式应用程序。当我在代码单元格中使用'await'关键字时,Monaco会标记它为错误,如下图所示:
当代码被执行或导出时,整个代码块都会被包装在一个async
函数中,因此在这种情况下不会出现错误。虽然有点晚,但我找到了另一种解决方案。 可以通过以下方式按错误代码抑制错误:
monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
diagnosticCodesToIgnore: [1375]
});
1375是“'await'表达式仅在文件顶层为模块时才允许,但该文件没有导入或导出。考虑添加空的'export {}'来使该文件成为模块。(1375)”错误代码。
我通过从代码构建Monaco编辑器包来解决了这个问题。
首先,我fork了Tim Kendrick的repo以打包Monaco编辑器:https://github.com/timkendrick/monaco-editor
然后,我使用git的--recurse选项克隆了它,以便我还可以克隆所有Monaco子模块repo。
接着,我能够运行Tim Kendrick的构建过程,将Monaco打包供我的React应用程序使用。
最后,我能够从Monaco的代码中删除错误消息,并重新打包以包含在我的应用程序中。
它无法按照我希望的方式进行配置,但至少我能够修改代码。
我对这个问题有一个新的答案。
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