(编辑:更新了我尝试过的事情和遇到的问题的更多信息。)
我正在尝试让 Intellisense 识别并利用项目中公共(public)文件夹中的 JS 文件。我当前的结构如下所示:
.vscode
launch.json
常见
jsconfig.json
MyLib.js
测试
jsconfig.json
index.html
runtests.js
演示
jsconfig.json
index.html
demo.js
MyLib.js
很简单:
function MyLib(){}
MyLib.prototype = { constructor: MyLib };
我的 demo/jsconfig.json
文件如下所示:
{
"compilerOptions": {
"target": "ES5"
},
"include": [
"../common/MyLib.js"
]
}
现在,当我编辑 demo.js
时,我开始输入:var x = new MyL
... 但什么也没有发生。
我的配置中是否缺少某些内容?它需要某种类型的文档吗?
更新:
我将我的 demo/jsconfig.json
更新为如下所示(按照 Matt Bierner 的建议添加文件
):
{
"compilerOptions": {
"target": "ES5"
},
"files": [
"demo.js",
],
"include": [
"../common/MyLib.js"
]
}
...我能够在建议中看到 MyLib
,但是我在 demo.js
中创建的对象...
var x = new MyLib();
...x
无法看到 MyLib
的任何属性,这正是 (IMO) Intellisense 的要点。
最佳答案
尝试配置项目,使其包含这两个文件,可以使用 files
选项显式列出项目中的所有文件:
{
"compilerOptions": {
"target": "ES5"
},
"files": [
"demo.js",
"../common/MyLib.js"
]
}
或使用include
选项:
{
"compilerOptions": {
"target": "ES5"
},
"files": [
"demo.js",
},
"include": {
"./**/*.js"
]
}
使用此配置,我在 demo.js
中看到了 MyLib
的建议。 Here's more information about the jsconfig options
关于javascript - 如何让 Intellisense 引用另一个文件夹中的 JS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43354977/