使用AMD模块时,是否可以让Intellisense在Visual Code中工作?
我的jsconfig.json文件设置为:
{
"compilerOptions": {
"target": "es5",
"module": "amd"
},
"exclude": [
"node_modules"
]
}
这不起作用。我到处搜索但无法找到怎么做。
答案 0 :(得分:2)
如果有其他人遇到此问题,我通过更改我定义模块的方式解决了这个问题。
由此:
define(['jquery'],
function ($) {
到这个
define(function (require, exports, module) {
var $ = require('jquery');
Visual Code似乎能够在使用require方法时使用Intellisense,而不是传递依赖数组。
答案 1 :(得分:0)
我尝试通过添加所需模块的注释引用来解决此问题。
/// <reference path="some-module.js" />
一些-module.js:
var module = {
member : {}
};
define([], function(){return module;});
这允许intellisense因缺少参数而起作用,但肯定不会运行:
/// <reference path="some-module.js" />
require(['some-module'], function(){//<--no parameter "module"
module.member;//intellisense works
});
这会因隐藏而中断智能感知,但实际上会执行:
/// <reference path="some-module.js" />
require(['some-module'], function(module){//<--parameter "module"
module.member;//no intellisense
});
我想我现在可以在处理文件时删除参数,然后在完成后恢复它。这感觉就像一个可怕的解决方案。如果没有关闭默认隐藏行为或指定参数与引用类型相同...
答案 2 :(得分:0)
Require Module Support如果配置正确,则可以为AMD / Requirejs提供良好的Intellisense。