0
(编辑:更新了我试过的东西和我遇到的问题的更多信息。)如何让Intellisense引用另一个文件夹中的JS文件?
我试图让Intellisense识别并在我的项目中使用常用文件夹中的JS文件。我现在的结构是这样的:
.vscode
launch.json
common
jsconfig.json
MyLib.js
tests
jsconfig.json
index.html
runtests.js
demo
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
看起来像这样(加files
像马特Bierner建议):
{
"compilerOptions": {
"target": "ES5"
},
"files": [
"demo.js",
],
"include": [
"../common/MyLib.js"
]
}
...我能看到MyLib
中的建议,但我在demo.js
创建的对象...
var x = new MyLib();
... x
无法看到MyLib
的任何属性,这是(IMO)Intellisense的要点。
我试过两种方法,都允许我在'demo.js'中看到'MyLib',但这正是Intellisense似乎结束的地方。如果我有'var x = new MyLib();',在下一行输入'x.'只会给出文件中的建议(“MyLib”和“x”)。我没有在建议中看到MyLib的原型或其构造函数。 (P.S.你的链接去了'tsconfig.json'的文档,但是我根本没有使用TypeScript。) – TheJim01
这看起来像是TypeScript(它支持VSCode JS语言特性)的一个bug。我已经打开了两个错误来跟踪此:https://github.com/Microsoft/TypeScript/issues/15162和https://github.com/Microsoft/TypeScript/issues/15163。另外,'jsconfig'几乎是一个'tsconfig',并且删除了任何TypeScript特定的配置选项。该文档应同时适用于 –
感谢您提交错误。我正在重新阅读VSCode中关于JavaScript的文档。如果我拿出任何东西,我会更新我的帖子。 – TheJim01