我正在尝试让monaco editor (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"
});我遗漏了什么?
发布于 2018-08-23 17:06:33
由于其他海报似乎没有抓住我的问题的要点,我将自己回答它。
使用VSCode编辑器可以输入检查JavaScript代码,这就是我想要做的。
为此,编辑器模型必须是"typescript",文件URI需要".js“扩展名,并且必须打开"allowJS”和"checkJS“编译器选项:https://github.com/Microsoft/monaco-editor/issues/989#issuecomment-411027528
https://stackoverflow.com/questions/51685018
复制相似问题