如何在摩纳哥编辑器中的JavaScript中实施函数签名

时间:2018-08-04 11:13:05

标签: monaco-editor

我正在尝试让monaco编辑器(v0.13.1)检查JavaScript中的函数签名。通过使用下面的代码,我至少可以使IntelliSense显示预期的签名,但是没有显示错误:

// validation settings
monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({
    noSemanticValidation: false,
    noSyntaxValidation: false,
});

monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({
    noSemanticValidation: false,
    noSyntaxValidation: false,
});

// compiler options
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
    target: monaco.languages.typescript.ScriptTarget.ES6,
    allowNonTsExtensions: true,
    allowJS: true,
});

var jsCode = `
/**
 * @param {string} a
 * @param {number} [b]
 */
function foo(a, b) {

}

foo(1); // here should be an error!
`

monaco.editor.create(document.getElementById("container"), {
    value: jsCode,
    language: "javascript"
});

我想念什么?

1 个答案:

答案 0 :(得分:1)

由于其他海报似乎都没有回答我的问题,我会自己回答。

摩纳哥编辑器可以对JavaScript代码进行类型检查,而VSCode可以做到这一点,而这正是我想要做的。

为此,编辑器模型必须为“ typescript”,文件URI需要扩展名为“ .js”,并且必须打开“ allowJS”和“ checkJS”编译器选项: https://github.com/Microsoft/monaco-editor/issues/989#issuecomment-411027528

相关问题